Module: Mesa Branch: master Commit: eea3aa25aa20599578a20fb3256fdb90882abb2b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eea3aa25aa20599578a20fb3256fdb90882abb2b
Author: Caio Marcelo de Oliveira Filho <[email protected]> Date: Tue Sep 3 17:10:52 2019 -0700 mesa: Pack gl_program_parameter struct The gl_register_file doesn't need 16 bits, so shorten it and use the extra room for 'Padded' (also mark it as a single bit). This shrinks the struct size from 32 bytes to 24 bytes. See also 4794fbc86e3 ("mesa: reduce the size of gl_program_parameter") that shrinked from 40 to 24 and later 7536af670b7 ("glsl: fix shader cache for packed param list") that added `Padded`. v2: Use just 5 bits for gl_register_file. (Timothy) Reviewed-by: Timothy Arceri <[email protected]> --- src/mesa/program/prog_parameter.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/mesa/program/prog_parameter.h b/src/mesa/program/prog_parameter.h index 57050042012..94aeb5540b5 100644 --- a/src/mesa/program/prog_parameter.h +++ b/src/mesa/program/prog_parameter.h @@ -91,8 +91,16 @@ typedef union gl_constant_value struct gl_program_parameter { const char *Name; /**< Null-terminated string */ - gl_register_file Type:16; /**< PROGRAM_CONSTANT or STATE_VAR */ + gl_register_file Type:5; /**< PROGRAM_CONSTANT or STATE_VAR */ + + /** + * We need to keep track of whether the param is padded for use in the + * shader cache. + */ + bool Padded:1; + GLenum16 DataType; /**< GL_FLOAT, GL_FLOAT_VEC2, etc */ + /** * Number of components (1..4), or more. * If the number of components is greater than 4, @@ -104,12 +112,6 @@ struct gl_program_parameter * A sequence of STATE_* tokens and integers to identify GL state. */ gl_state_index16 StateIndexes[STATE_LENGTH]; - - /** - * We need to keep track of whether the param is padded for use in the - * shader cache. - */ - bool Padded; }; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
