mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 23:20:08 +01:00
glsl: Document and enforce restriction on type values
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
3119871bd9
commit
795d8dff89
2 changed files with 10 additions and 0 deletions
|
|
@ -55,6 +55,13 @@ glsl_type::glsl_type(GLenum gl_type,
|
|||
vector_elements(vector_elements), matrix_columns(matrix_columns),
|
||||
length(0)
|
||||
{
|
||||
/* Values of these types must fit in the two bits of
|
||||
* glsl_type::sampled_type.
|
||||
*/
|
||||
STATIC_ASSERT((unsigned(GLSL_TYPE_UINT) & 3) == unsigned(GLSL_TYPE_UINT));
|
||||
STATIC_ASSERT((unsigned(GLSL_TYPE_INT) & 3) == unsigned(GLSL_TYPE_INT));
|
||||
STATIC_ASSERT((unsigned(GLSL_TYPE_FLOAT) & 3) == unsigned(GLSL_TYPE_FLOAT));
|
||||
|
||||
mtx_lock(&glsl_type::mutex);
|
||||
|
||||
init_ralloc_type_ctx();
|
||||
|
|
|
|||
|
|
@ -47,6 +47,9 @@ _mesa_glsl_release_types(void);
|
|||
#endif
|
||||
|
||||
enum glsl_base_type {
|
||||
/* Note: GLSL_TYPE_UINT, GLSL_TYPE_INT, and GLSL_TYPE_FLOAT must be 0, 1,
|
||||
* and 2 so that they will fit in the 2 bits of glsl_type::sampled_type.
|
||||
*/
|
||||
GLSL_TYPE_UINT = 0,
|
||||
GLSL_TYPE_INT,
|
||||
GLSL_TYPE_FLOAT,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue