glthread: use 8-bit GLenum for prim modes where it results in better packing

This is OK because all modes > 14 are invalid.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828>
This commit is contained in:
Marek Olšák
2022-08-21 17:30:18 -04:00
committed by Marge Bot
parent cd30f044ae
commit 62501fbf7b
2 changed files with 5 additions and 4 deletions
+1
View File
@@ -44,6 +44,7 @@ extern "C" {
/* Custom Mesa types to save space. */
typedef unsigned char GLenum8; /* only for primitive modes */
typedef unsigned short GLenum16;
typedef unsigned char GLbitfield8;
typedef unsigned short GLbitfield16;
+4 -4
View File
@@ -671,7 +671,7 @@ struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance
{
struct marshal_cmd_base cmd_base;
bool index_bounds_valid;
GLenum16 mode;
GLenum8 mode;
GLenum16 type;
GLsizei count;
GLsizei instance_count;
@@ -756,7 +756,7 @@ draw_elements_async_user(struct gl_context *ctx, GLenum mode, GLsizei count,
struct marshal_cmd_DrawElementsInstancedBaseVertexBaseInstance *cmd;
cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_DrawElementsInstancedBaseVertexBaseInstance, cmd_size);
cmd->mode = MIN2(mode, 0xffff);
cmd->mode = MIN2(mode, 0xff); /* primitive types go from 0 to 14 */
cmd->type = MIN2(type, 0xffff);
cmd->count = count;
cmd->indices = indices;
@@ -887,7 +887,7 @@ struct marshal_cmd_MultiDrawElementsBaseVertex
{
struct marshal_cmd_base cmd_base;
bool has_base_vertex;
GLenum16 mode;
GLenum8 mode;
GLenum16 type;
GLsizei draw_count;
GLuint user_buffer_mask;
@@ -972,7 +972,7 @@ multi_draw_elements_async(struct gl_context *ctx, GLenum mode,
}
cmd = _mesa_glthread_allocate_command(ctx, DISPATCH_CMD_MultiDrawElementsBaseVertex, cmd_size);
cmd->mode = MIN2(mode, 0xffff);
cmd->mode = MIN2(mode, 0xff); /* primitive types go from 0 to 14 */
cmd->type = MIN2(type, 0xffff);
cmd->draw_count = draw_count;
cmd->user_buffer_mask = user_buffer_mask;