If GL_QCOM_render_shared_exponent is available then treat
GL_RGB9_E5 as a valid internal format for fbo. Also, allow
copy of RGB9_E5 pixel data.
Components: OpenGL
VK-GL-CTS Issue: 2898
Affects:
KHR-GLES3.packed_pixels.rectangle.rgb9_e5
KHR-GLES3.packed_pixels.pbo_rectangle.rgb9_e5
KHR-GLES3.packed_pixels.varied_rectangle.rgb9_e5
Change-Id: Ie57d74b9bbd11cf7ccca175813077c22405a0926
(cherry picked from commit
db8e2899b1f0ab4677aa24af6fad4119f5fe1fa2)
// and conversions to SNORM internalformats are not allowed by Table 3.2
(copyInternalFormat.sampler == SAMPLER_NORM) ||
((copyInternalFormat.sizedFormat == GL_RGB9_E5) &&
// and conversions to SNORM internalformats are not allowed by Table 3.2
(copyInternalFormat.sampler == SAMPLER_NORM) ||
((copyInternalFormat.sizedFormat == GL_RGB9_E5) &&
- !contextInfo.isExtensionSupported("GL_APPLE_color_buffer_packed_float")))
+ (!contextInfo.isExtensionSupported("GL_APPLE_color_buffer_packed_float") &&
+ !contextInfo.isExtensionSupported("GL_QCOM_render_shared_exponent"))))
{
/* Some formats are activated by extensions, check. */
if (((internalFormat.baseFormat == GL_LUMINANCE && copyInternalFormat.baseFormat == GL_LUMINANCE) ||
{
/* Some formats are activated by extensions, check. */
if (((internalFormat.baseFormat == GL_LUMINANCE && copyInternalFormat.baseFormat == GL_LUMINANCE) ||
+ if ((GL_RGB9_E5 == validFormat->internalformat) &&
+ contextInfo.isExtensionSupported("GL_QCOM_render_shared_exponent"))
+ {
+ return true;
+ }
+
if ((GL_LUMINANCE == validFormat->internalformat || GL_ALPHA == validFormat->internalformat ||
GL_LUMINANCE_ALPHA == validFormat->internalformat) &&
contextInfo.isExtensionSupported("GL_NV_render_luminance_alpha"))
if ((GL_LUMINANCE == validFormat->internalformat || GL_ALPHA == validFormat->internalformat ||
GL_LUMINANCE_ALPHA == validFormat->internalformat) &&
contextInfo.isExtensionSupported("GL_NV_render_luminance_alpha"))