Mesa (master): glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed May 13 20:30:34 UTC 2020


Module: Mesa
Branch: master
Commit: 64c7363f7efb6c5bf39cf4443245a82fc9904fb8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=64c7363f7efb6c5bf39cf4443245a82fc9904fb8

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue May 12 16:22:29 2020 -0400

glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums

Reported by Ian Romanick.

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

---

 src/mapi/glapi/gen/gl_marshal.py |  7 ++-----
 src/mesa/main/glthread_draw.c    | 12 ++++++------
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/mapi/glapi/gen/gl_marshal.py b/src/mapi/glapi/gen/gl_marshal.py
index 29032645fce..6e8ad20f5cd 100644
--- a/src/mapi/glapi/gen/gl_marshal.py
+++ b/src/mapi/glapi/gen/gl_marshal.py
@@ -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:
diff --git a/src/mesa/main/glthread_draw.c b/src/mesa/main/glthread_draw.c
index 8e6aeca002a..5607ced4125 100644
--- a/src/mesa/main/glthread_draw.c
+++ b/src/mesa/main/glthread_draw.c
@@ -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;



More information about the mesa-commit mailing list