aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2020-03-19 01:56:57 -0400
committerMarek Olšák <[email protected]>2020-03-20 23:01:13 -0400
commit37725e6c389a1135b288373a4d589806c98af291 (patch)
tree0dc133714be431a43e02eb994997e053b3ea6dc1
parent4ded23a4add49c887f764c221f1aab5e0019cee2 (diff)
glthread: autogenerate prototypes for custom-marshalled functions
Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4124>
-rw-r--r--src/mapi/glapi/gen/gl_marshal_h.py9
-rw-r--r--src/mesa/main/marshal.c8
-rw-r--r--src/mesa/main/marshal.h60
3 files changed, 13 insertions, 64 deletions
diff --git a/src/mapi/glapi/gen/gl_marshal_h.py b/src/mapi/glapi/gen/gl_marshal_h.py
index 94926b99a0f..8a23b146e0e 100644
--- a/src/mapi/glapi/gen/gl_marshal_h.py
+++ b/src/mapi/glapi/gen/gl_marshal_h.py
@@ -63,6 +63,15 @@ class PrintCode(gl_XML.gl_print_base):
print(' DISPATCH_CMD_{0},'.format(func.name))
print(' NUM_DISPATCH_CMD,')
print('};')
+ print('')
+
+ for func in api.functionIterateAll():
+ flavor = func.marshal_flavor()
+ if flavor == 'custom':
+ print('struct marshal_cmd_{0};'.format(func.name))
+ print(('void _mesa_unmarshal_{0}(struct gl_context *ctx, '
+ 'const struct marshal_cmd_{0} *cmd);').format(func.name))
+ print('void GLAPIENTRY _mesa_marshal_{0}({1});'.format(func.name, func.get_parameter_string()))
def show_usage():
diff --git a/src/mesa/main/marshal.c b/src/mesa/main/marshal.c
index cbcb7c58750..d68dadaabca 100644
--- a/src/mesa/main/marshal.c
+++ b/src/mesa/main/marshal.c
@@ -213,14 +213,14 @@ _mesa_unmarshal_BufferData(struct gl_context *ctx,
void
_mesa_unmarshal_NamedBufferData(struct gl_context *ctx,
- const struct marshal_cmd_BufferData *cmd)
+ const struct marshal_cmd_NamedBufferData *cmd)
{
unreachable("never used - all BufferData variants use DISPATCH_CMD_BufferData");
}
void
_mesa_unmarshal_NamedBufferDataEXT(struct gl_context *ctx,
- const struct marshal_cmd_BufferData *cmd)
+ const struct marshal_cmd_NamedBufferDataEXT *cmd)
{
unreachable("never used - all BufferData variants use DISPATCH_CMD_BufferData");
}
@@ -328,14 +328,14 @@ _mesa_unmarshal_BufferSubData(struct gl_context *ctx,
void
_mesa_unmarshal_NamedBufferSubData(struct gl_context *ctx,
- const struct marshal_cmd_BufferSubData *cmd)
+ const struct marshal_cmd_NamedBufferSubData *cmd)
{
unreachable("never used - all BufferSubData variants use DISPATCH_CMD_BufferSubData");
}
void
_mesa_unmarshal_NamedBufferSubDataEXT(struct gl_context *ctx,
- const struct marshal_cmd_BufferSubData *cmd)
+ const struct marshal_cmd_NamedBufferSubDataEXT *cmd)
{
unreachable("never used - all BufferSubData variants use DISPATCH_CMD_BufferSubData");
}
diff --git a/src/mesa/main/marshal.h b/src/mesa/main/marshal.h
index 9688012bb3b..c5b3209201b 100644
--- a/src/mesa/main/marshal.h
+++ b/src/mesa/main/marshal.h
@@ -120,69 +120,9 @@ _mesa_glthread_is_non_vbo_draw_elements_indirect(const struct gl_context *ctx)
struct _glapi_table *
_mesa_create_marshal_table(const struct gl_context *ctx);
-struct marshal_cmd_ShaderSource;
-struct marshal_cmd_BufferData;
-struct marshal_cmd_BufferSubData;
-
-void GLAPIENTRY
-_mesa_marshal_ShaderSource(GLuint shader, GLsizei count,
- const GLchar * const *string, const GLint *length);
-
-void
-_mesa_unmarshal_ShaderSource(struct gl_context *ctx,
- const struct marshal_cmd_ShaderSource *cmd);
-
void
_mesa_glthread_BindBuffer(struct gl_context *ctx, GLenum target, GLuint buffer);
-void
-_mesa_unmarshal_BufferData(struct gl_context *ctx,
- const struct marshal_cmd_BufferData *cmd);
-
-void
-_mesa_unmarshal_NamedBufferData(struct gl_context *ctx,
- const struct marshal_cmd_BufferData *cmd);
-
-void
-_mesa_unmarshal_NamedBufferDataEXT(struct gl_context *ctx,
- const struct marshal_cmd_BufferData *cmd);
-
-void GLAPIENTRY
-_mesa_marshal_BufferData(GLenum target, GLsizeiptr size, const GLvoid * data,
- GLenum usage);
-
-void GLAPIENTRY
-_mesa_marshal_NamedBufferData(GLuint buffer, GLsizeiptr size,
- const GLvoid * data, GLenum usage);
-
-void GLAPIENTRY
-_mesa_marshal_NamedBufferDataEXT(GLuint buffer, GLsizeiptr size,
- const GLvoid *data, GLenum usage);
-
-void
-_mesa_unmarshal_BufferSubData(struct gl_context *ctx,
- const struct marshal_cmd_BufferSubData *cmd);
-
-void
-_mesa_unmarshal_NamedBufferSubData(struct gl_context *ctx,
- const struct marshal_cmd_BufferSubData *cmd);
-
-void
-_mesa_unmarshal_NamedBufferSubDataEXT(struct gl_context *ctx,
- const struct marshal_cmd_BufferSubData *cmd);
-
-void GLAPIENTRY
-_mesa_marshal_BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
- const GLvoid * data);
-
-void GLAPIENTRY
-_mesa_marshal_NamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size,
- const GLvoid * data);
-
-void GLAPIENTRY
-_mesa_marshal_NamedBufferSubDataEXT(GLuint buffer, GLintptr offset,
- GLsizeiptr size, const GLvoid * data);
-
static inline unsigned
_mesa_buffer_enum_to_count(GLenum buffer)
{