diff options
author | Marek Olšák <[email protected]> | 2020-02-24 19:26:12 -0500 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-06 01:06:14 +0000 |
commit | 93b2ee18a1c00f8b60a60e34cee3743dca45bd47 (patch) | |
tree | 87069e2c165a9d34303e77540627f4809d67fb3e /src/mesa/main | |
parent | 85276e2c1b8dfdf090a656a7fa1b5613d373515e (diff) |
glthread: replace custom glBindBuffer marshalling with generated one
Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/marshal.c | 54 | ||||
-rw-r--r-- | src/mesa/main/marshal.h | 7 |
2 files changed, 3 insertions, 58 deletions
diff --git a/src/mesa/main/marshal.c b/src/mesa/main/marshal.c index ce91d6a8f66..f8eabf1b53c 100644 --- a/src/mesa/main/marshal.c +++ b/src/mesa/main/marshal.c @@ -136,15 +136,6 @@ _mesa_marshal_ShaderSource(GLuint shader, GLsizei count, } -/* BindBufferBase: marshalled asynchronously */ -struct marshal_cmd_BindBufferBase -{ - struct marshal_cmd_base cmd_base; - GLenum target; - GLuint index; - GLuint buffer; -}; - /** Tracks the current bindings for the vertex array and index array buffers. * * This is part of what we need to enable glthread on compat-GL contexts that @@ -168,8 +159,8 @@ struct marshal_cmd_BindBufferBase * feature that if you pass a bad name, it just gens a buffer object for you, * so we escape without having to know if things are valid or not. */ -static void -track_vbo_binding(struct gl_context *ctx, GLenum target, GLuint buffer) +void +_mesa_glthread_BindBuffer(struct gl_context *ctx, GLenum target, GLuint buffer) { struct glthread_state *glthread = ctx->GLThread; @@ -191,47 +182,6 @@ track_vbo_binding(struct gl_context *ctx, GLenum target, GLuint buffer) } -struct marshal_cmd_BindBuffer -{ - struct marshal_cmd_base cmd_base; - GLenum target; - GLuint buffer; -}; - -/** - * This is just like the code-generated glBindBuffer() support, except that we - * call track_vbo_binding(). - */ -void -_mesa_unmarshal_BindBuffer(struct gl_context *ctx, - const struct marshal_cmd_BindBuffer *cmd) -{ - const GLenum target = cmd->target; - const GLuint buffer = cmd->buffer; - CALL_BindBuffer(ctx->CurrentServerDispatch, (target, buffer)); -} -void GLAPIENTRY -_mesa_marshal_BindBuffer(GLenum target, GLuint buffer) -{ - GET_CURRENT_CONTEXT(ctx); - size_t cmd_size = sizeof(struct marshal_cmd_BindBuffer); - struct marshal_cmd_BindBuffer *cmd; - debug_print_marshal("BindBuffer"); - - track_vbo_binding(ctx, target, buffer); - - if (cmd_size <= MARSHAL_MAX_CMD_SIZE) { - cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_BindBuffer, - cmd_size); - cmd->target = target; - cmd->buffer = buffer; - _mesa_post_marshal_hook(ctx); - } else { - _mesa_glthread_finish(ctx); - CALL_BindBuffer(ctx->CurrentServerDispatch, (target, buffer)); - } -} - /* BufferData: marshalled asynchronously */ struct marshal_cmd_BufferData { diff --git a/src/mesa/main/marshal.h b/src/mesa/main/marshal.h index c53c060f593..b75613b9a3e 100644 --- a/src/mesa/main/marshal.h +++ b/src/mesa/main/marshal.h @@ -151,7 +151,6 @@ struct _glapi_table * _mesa_create_marshal_table(const struct gl_context *ctx); struct marshal_cmd_ShaderSource; -struct marshal_cmd_BindBuffer; struct marshal_cmd_BufferData; struct marshal_cmd_BufferSubData; struct marshal_cmd_NamedBufferData; @@ -165,12 +164,8 @@ void _mesa_unmarshal_ShaderSource(struct gl_context *ctx, const struct marshal_cmd_ShaderSource *cmd); -void GLAPIENTRY -_mesa_marshal_BindBuffer(GLenum target, GLuint buffer); - void -_mesa_unmarshal_BindBuffer(struct gl_context *ctx, - const struct marshal_cmd_BindBuffer *cmd); +_mesa_glthread_BindBuffer(struct gl_context *ctx, GLenum target, GLuint buffer); void _mesa_unmarshal_BufferData(struct gl_context *ctx, |