Fix for gles3 glTexImage2D format
Gles3 does not have support for GL_SRGB_ALPHA_EXT(0x8C42).
When the internal format is GL_SRGB8_ALPHA8(0x8C43) valid format
to use is GL_RGBA for gles3 as defined in
https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glTexImage2D.xhtml
After this change,the test passes on gles3
Test: cts-tradefed run cts -m CtsVrTestCases --test
android.vr.cts.VrExtensionBehaviorTest#testSrgbBuffer
Bug: 122272984
Change-Id: I625dbbfa015aebf2f698ca45c7c76a24404d6118
diff --git a/tests/vr/jni/VrExtensionsJni.cpp b/tests/vr/jni/VrExtensionsJni.cpp
index a5d9db3..6c2649c 100644
--- a/tests/vr/jni/VrExtensionsJni.cpp
+++ b/tests/vr/jni/VrExtensionsJni.cpp
@@ -471,8 +471,7 @@
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
} else {
GLenum internal_format = use_srgb_format ? GL_SRGB8_ALPHA8_EXT : GL_RGBA8_OES;
- GLenum format = use_srgb_format ? GL_SRGB_ALPHA_EXT : GL_RGBA;
- glTexImage2D(GL_TEXTURE_2D, 0, internal_format, kTextureWidth, 1, 0, format,
+ glTexImage2D(GL_TEXTURE_2D, 0, internal_format, kTextureWidth, 1, 0, GL_RGBA,
GL_UNSIGNED_BYTE, kTextureData);
}
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -551,8 +550,7 @@
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
} else {
GLenum internal_format = use_srgb_format ? GL_SRGB8_ALPHA8_EXT : GL_RGBA8_OES;
- GLenum format = use_srgb_format ? GL_SRGB_ALPHA_EXT : GL_RGBA;
- glTexImage2D(GL_TEXTURE_2D, 0, internal_format, 1, 1, 0, format,
+ glTexImage2D(GL_TEXTURE_2D, 0, internal_format, 1, 1, 0, GL_RGBA,
GL_UNSIGNED_BYTE, nullptr);
}
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,