glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums
authorMarek Olšák <marek.olsak@amd.com>
Tue, 12 May 2020 20:22:29 +0000 (16:22 -0400)
committerMarge Bot <eric+marge@anholt.net>
Wed, 13 May 2020 20:10:42 +0000 (20:10 +0000)
Reported by Ian Romanick.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5016>

src/mapi/glapi/gen/gl_marshal.py
src/mesa/main/glthread_draw.c

index 2903264..6e8ad20 100644 (file)
@@ -152,9 +152,9 @@ class PrintCode(gl_XML.gl_print_base):
             'GLboolean': 1,
             'GLbyte': 1,
             'GLubyte': 1,
-            'GLenum': 2, # uses GLenum16
             'GLshort': 2,
             'GLushort': 2,
+            'GLenum': 4,
             'GLint': 4,
             'GLuint': 4,
             'GLbitfield': 4,
@@ -192,10 +192,7 @@ class PrintCode(gl_XML.gl_print_base):
                     out('{0} {1}[{2}];'.format(
                             p.get_base_type_string(), p.name, p.count))
                 else:
-                    type = p.type_string()
-                    if type == 'GLenum':
-                        type = 'GLenum16'
-                    out('{0} {1};'.format(type, p.name))
+                    out('{0} {1};'.format(p.type_string(), p.name))
 
             for p in func.variable_params:
                 if p.img_null_flag:
index 8e6aeca..5607ced 100644 (file)
@@ -164,7 +164,7 @@ upload_vertices(struct gl_context *ctx, unsigned attrib_mask,
 struct marshal_cmd_DrawArraysInstancedBaseInstance
 {
    struct marshal_cmd_base cmd_base;
-   GLenum16 mode;
+   GLenum mode;
    GLint first;
    GLsizei count;
    GLsizei instance_count;
@@ -267,7 +267,7 @@ _mesa_marshal_DrawArraysInstancedBaseInstance(GLenum mode, GLint first,
 struct marshal_cmd_MultiDrawArrays
 {
    struct marshal_cmd_base cmd_base;
-   GLenum16 mode;
+   GLenum mode;
    GLsizei draw_count;
    GLuint non_vbo_attrib_mask;
 };
@@ -399,8 +399,8 @@ struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance
 {
    struct marshal_cmd_base cmd_base;
    bool index_bounds_valid;
-   GLenum16 mode;
-   GLenum16 type;
+   GLenum mode;
+   GLenum type;
    GLsizei count;
    GLsizei instance_count;
    GLint basevertex;
@@ -590,8 +590,8 @@ struct marshal_cmd_MultiDrawElementsBaseVertex
 {
    struct marshal_cmd_base cmd_base;
    bool has_base_vertex;
-   GLenum16 mode;
-   GLenum16 type;
+   GLenum mode;
+   GLenum type;
    GLsizei draw_count;
    GLuint non_vbo_attrib_mask;
    struct gl_buffer_object *index_buffer;