On 03/15/2018 02:04 PM, Juan A. Suarez Romero wrote:
According to OpenGL ES 3.2, section 8.6, CopyTexSubImage* should return
an INVALID_OPERATION if the internalformat of the texture is RGB9_E5.

This fixes
dEQP-GLES31.functional.debug.negative_coverage.*.copytexsubimage2d_texture_internalformat.

These tests seem to be passing for me, I believe they fail in texture_format_error_check_gles. What kind of configuration are you running on?

---
  src/mesa/main/teximage.c | 14 ++++++++++++++
  1 file changed, 14 insertions(+)

diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 928e50d472d..9c13e6d7cf6 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -2623,6 +2623,20 @@ copytexsubimage_error_check(struct gl_context *ctx, 
GLuint dimensions,
        return GL_TRUE;
     }
+ /* From OpenGL ES 3.2 spec, section 8.6:
+    *
+    *     "An INVALID_OPERATION error is generated by CopyTexSubImage3D,
+    *      CopyTexImage2D, or CopyTexSubImage2D if the internalformat of the
+    *      texture image being (re)specified is RGB9_E5"
+    */
+   if (texImage->InternalFormat == GL_RGB9_E5 &&
+       !_mesa_is_desktop_gl(ctx)) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "%s(invalid internal format %s)", caller,
+                  _mesa_enum_to_string(texImage->InternalFormat));
+      return GL_TRUE;
+   }
+
     if (!_mesa_source_buffer_exists(ctx, texImage->_BaseFormat)) {
        _mesa_error(ctx, GL_INVALID_OPERATION,
                    "%s(missing readbuffer, format=%s)", caller,

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to