glthread: qualify the *cmd unmarshal parameter with restrict
This seems like a logical thing to do. Clearly the memory can't be accessed with any other pointer. Acked-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21777>
This commit is contained in:
@@ -191,7 +191,7 @@ class PrintCode(gl_XML.gl_print_base):
|
||||
|
||||
out('uint32_t')
|
||||
out(('_mesa_unmarshal_{0}(struct gl_context *ctx, '
|
||||
'const struct marshal_cmd_{0} *cmd)').format(func.name))
|
||||
'const struct marshal_cmd_{0} *restrict cmd)').format(func.name))
|
||||
out('{')
|
||||
with indent():
|
||||
for p in fixed_params:
|
||||
|
||||
@@ -70,7 +70,7 @@ class PrintCode(gl_XML.gl_print_base):
|
||||
if flavor in ('custom', 'async'):
|
||||
print('struct marshal_cmd_{0};'.format(func.name))
|
||||
print(('uint32_t _mesa_unmarshal_{0}(struct gl_context *ctx, '
|
||||
'const struct marshal_cmd_{0} *cmd);').format(func.name))
|
||||
'const struct marshal_cmd_{0} *restrict cmd);').format(func.name))
|
||||
|
||||
if flavor in ('custom', 'async', 'sync') and not func.marshal_is_static():
|
||||
print('{0} GLAPIENTRY _mesa_marshal_{1}({2});'.format(func.return_type, func.name, func.get_parameter_string()))
|
||||
|
||||
@@ -232,7 +232,7 @@ struct marshal_cmd_BindBuffer
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_BindBuffer(struct gl_context *ctx,
|
||||
const struct marshal_cmd_BindBuffer *cmd)
|
||||
const struct marshal_cmd_BindBuffer *restrict cmd)
|
||||
{
|
||||
CALL_BindBuffer(ctx->Dispatch.Current, (cmd->target[0], cmd->buffer[0]));
|
||||
|
||||
@@ -330,7 +330,7 @@ struct marshal_cmd_BufferData
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_BufferData(struct gl_context *ctx,
|
||||
const struct marshal_cmd_BufferData *cmd)
|
||||
const struct marshal_cmd_BufferData *restrict cmd)
|
||||
{
|
||||
const GLuint target_or_name = cmd->target_or_name;
|
||||
const GLsizei size = cmd->size;
|
||||
@@ -359,7 +359,7 @@ _mesa_unmarshal_BufferData(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_NamedBufferData(struct gl_context *ctx,
|
||||
const struct marshal_cmd_NamedBufferData *cmd)
|
||||
const struct marshal_cmd_NamedBufferData *restrict cmd)
|
||||
{
|
||||
unreachable("never used - all BufferData variants use DISPATCH_CMD_BufferData");
|
||||
return 0;
|
||||
@@ -367,7 +367,7 @@ _mesa_unmarshal_NamedBufferData(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_NamedBufferDataEXT(struct gl_context *ctx,
|
||||
const struct marshal_cmd_NamedBufferDataEXT *cmd)
|
||||
const struct marshal_cmd_NamedBufferDataEXT *restrict cmd)
|
||||
{
|
||||
unreachable("never used - all BufferData variants use DISPATCH_CMD_BufferData");
|
||||
return 0;
|
||||
@@ -454,7 +454,7 @@ struct marshal_cmd_BufferSubData
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_BufferSubData(struct gl_context *ctx,
|
||||
const struct marshal_cmd_BufferSubData *cmd)
|
||||
const struct marshal_cmd_BufferSubData *restrict cmd)
|
||||
{
|
||||
const GLenum target_or_name = cmd->target_or_name;
|
||||
const GLintptr offset = cmd->offset;
|
||||
@@ -476,7 +476,7 @@ _mesa_unmarshal_BufferSubData(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_NamedBufferSubData(struct gl_context *ctx,
|
||||
const struct marshal_cmd_NamedBufferSubData *cmd)
|
||||
const struct marshal_cmd_NamedBufferSubData *restrict cmd)
|
||||
{
|
||||
unreachable("never used - all BufferSubData variants use DISPATCH_CMD_BufferSubData");
|
||||
return 0;
|
||||
@@ -484,7 +484,7 @@ _mesa_unmarshal_NamedBufferSubData(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_NamedBufferSubDataEXT(struct gl_context *ctx,
|
||||
const struct marshal_cmd_NamedBufferSubDataEXT *cmd)
|
||||
const struct marshal_cmd_NamedBufferSubDataEXT *restrict cmd)
|
||||
{
|
||||
unreachable("never used - all BufferSubData variants use DISPATCH_CMD_BufferSubData");
|
||||
return 0;
|
||||
|
||||
@@ -292,7 +292,7 @@ struct marshal_cmd_DrawArrays
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawArrays(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawArrays *cmd)
|
||||
const struct marshal_cmd_DrawArrays *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLint first = cmd->first;
|
||||
@@ -317,7 +317,7 @@ struct marshal_cmd_DrawArraysInstancedBaseInstance
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawArraysInstancedBaseInstance(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawArraysInstancedBaseInstance *cmd)
|
||||
const struct marshal_cmd_DrawArraysInstancedBaseInstance *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLint first = cmd->first;
|
||||
@@ -380,7 +380,7 @@ struct marshal_cmd_DrawArraysUserBuf
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawArraysUserBuf(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawArraysUserBuf *cmd)
|
||||
const struct marshal_cmd_DrawArraysUserBuf *restrict cmd)
|
||||
{
|
||||
const GLuint user_buffer_mask = cmd->user_buffer_mask;
|
||||
const struct glthread_attrib_binding *buffers =
|
||||
@@ -518,7 +518,7 @@ struct marshal_cmd_MultiDrawArraysUserBuf
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_MultiDrawArraysUserBuf(struct gl_context *ctx,
|
||||
const struct marshal_cmd_MultiDrawArraysUserBuf *cmd)
|
||||
const struct marshal_cmd_MultiDrawArraysUserBuf *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLsizei draw_count = cmd->draw_count;
|
||||
@@ -643,7 +643,7 @@ struct marshal_cmd_DrawElementsInstanced
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsInstanced(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsInstanced *cmd)
|
||||
const struct marshal_cmd_DrawElementsInstanced *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLsizei count = cmd->count;
|
||||
@@ -671,7 +671,7 @@ struct marshal_cmd_DrawElementsBaseVertex
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsBaseVertex(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsBaseVertex *cmd)
|
||||
const struct marshal_cmd_DrawElementsBaseVertex *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLsizei count = cmd->count;
|
||||
@@ -701,7 +701,7 @@ struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsInstancedBaseVertexBaseInstance(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance *cmd)
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLsizei count = cmd->count;
|
||||
@@ -735,7 +735,7 @@ struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstanceDrawID
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsInstancedBaseVertexBaseInstanceDrawID(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstanceDrawID *cmd)
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstanceDrawID *restrict cmd)
|
||||
{
|
||||
const GLenum mode = cmd->mode;
|
||||
const GLsizei count = cmd->count;
|
||||
@@ -774,7 +774,7 @@ struct marshal_cmd_DrawElementsUserBuf
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsUserBuf(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsUserBuf *cmd)
|
||||
const struct marshal_cmd_DrawElementsUserBuf *restrict cmd)
|
||||
{
|
||||
const GLuint user_buffer_mask = cmd->user_buffer_mask;
|
||||
const struct glthread_attrib_binding *buffers =
|
||||
@@ -1010,7 +1010,7 @@ struct marshal_cmd_MultiDrawElementsUserBuf
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_MultiDrawElementsUserBuf(struct gl_context *ctx,
|
||||
const struct marshal_cmd_MultiDrawElementsUserBuf *cmd)
|
||||
const struct marshal_cmd_MultiDrawElementsUserBuf *restrict cmd)
|
||||
{
|
||||
const GLsizei draw_count = cmd->draw_count;
|
||||
const GLuint user_buffer_mask = cmd->user_buffer_mask;
|
||||
@@ -1815,7 +1815,7 @@ _mesa_marshal_MultiDrawElements(GLenum mode, const GLsizei *count,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawArraysInstanced(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawArraysInstanced *cmd)
|
||||
const struct marshal_cmd_DrawArraysInstanced *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1823,7 +1823,7 @@ _mesa_unmarshal_DrawArraysInstanced(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_MultiDrawArrays(struct gl_context *ctx,
|
||||
const struct marshal_cmd_MultiDrawArrays *cmd)
|
||||
const struct marshal_cmd_MultiDrawArrays *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1831,7 +1831,7 @@ _mesa_unmarshal_MultiDrawArrays(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElements(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElements *cmd)
|
||||
const struct marshal_cmd_DrawElements *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1839,7 +1839,7 @@ _mesa_unmarshal_DrawElements(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawRangeElements(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawRangeElements *cmd)
|
||||
const struct marshal_cmd_DrawRangeElements *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1855,7 +1855,7 @@ _mesa_unmarshal_DrawRangeElementsBaseVertex(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsInstancedBaseVertex(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertex *cmd)
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseVertex *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1863,7 +1863,7 @@ _mesa_unmarshal_DrawElementsInstancedBaseVertex(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_DrawElementsInstancedBaseInstance(struct gl_context *ctx,
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseInstance *cmd)
|
||||
const struct marshal_cmd_DrawElementsInstancedBaseInstance *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1871,7 +1871,7 @@ _mesa_unmarshal_DrawElementsInstancedBaseInstance(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_MultiDrawElements(struct gl_context *ctx,
|
||||
const struct marshal_cmd_MultiDrawElements *cmd)
|
||||
const struct marshal_cmd_MultiDrawElements *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
@@ -1879,7 +1879,7 @@ _mesa_unmarshal_MultiDrawElements(struct gl_context *ctx,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_MultiDrawElementsBaseVertex(struct gl_context *ctx,
|
||||
const struct marshal_cmd_MultiDrawElementsBaseVertex *cmd)
|
||||
const struct marshal_cmd_MultiDrawElementsBaseVertex *restrict cmd)
|
||||
{
|
||||
unreachable("should never end up here");
|
||||
return 0;
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_GetIntegerv(struct gl_context *ctx,
|
||||
const struct marshal_cmd_GetIntegerv *cmd)
|
||||
const struct marshal_cmd_GetIntegerv *restrict cmd)
|
||||
{
|
||||
unreachable("never executed");
|
||||
return 0;
|
||||
|
||||
@@ -34,7 +34,8 @@ struct marshal_cmd_CallList
|
||||
};
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_CallList(struct gl_context *ctx, const struct marshal_cmd_CallList *cmd)
|
||||
_mesa_unmarshal_CallList(struct gl_context *ctx,
|
||||
const struct marshal_cmd_CallList *restrict cmd)
|
||||
{
|
||||
const GLuint num = cmd->num;
|
||||
|
||||
|
||||
@@ -48,7 +48,8 @@ struct marshal_cmd_base
|
||||
uint16_t cmd_size;
|
||||
};
|
||||
|
||||
typedef uint32_t (*_mesa_unmarshal_func)(struct gl_context *ctx, const void *cmd);
|
||||
typedef uint32_t (*_mesa_unmarshal_func)(struct gl_context *ctx,
|
||||
const void *restrict cmd);
|
||||
extern const _mesa_unmarshal_func _mesa_unmarshal_dispatch[NUM_DISPATCH_CMD];
|
||||
|
||||
static inline void *
|
||||
|
||||
@@ -38,7 +38,7 @@ _mesa_glthread_ProgramChanged(struct gl_context *ctx)
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_GetActiveUniform(struct gl_context *ctx,
|
||||
const struct marshal_cmd_GetActiveUniform *cmd)
|
||||
const struct marshal_cmd_GetActiveUniform *restrict cmd)
|
||||
{
|
||||
unreachable("never executed");
|
||||
return 0;
|
||||
@@ -86,7 +86,7 @@ _mesa_marshal_GetActiveUniform(GLuint program, GLuint index, GLsizei bufSize,
|
||||
|
||||
uint32_t
|
||||
_mesa_unmarshal_GetUniformLocation(struct gl_context *ctx,
|
||||
const struct marshal_cmd_GetUniformLocation *cmd)
|
||||
const struct marshal_cmd_GetUniformLocation *restrict cmd)
|
||||
{
|
||||
unreachable("never executed");
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user