diff options
author | Kenneth Graunke <[email protected]> | 2019-01-16 00:03:39 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-19 13:26:58 -0800 |
commit | 3c2c6bd1c7636793ccb5e25f05677ae02e0fdb47 (patch) | |
tree | 1daab7dcd2d790c095174174d5822ffae49f582a /src | |
parent | daf8ada08d70fed353c64206ed3ffc7be2c0bfde (diff) |
compiler: Make is_64bit(GL_*) helper more broadly available
I'd like to use this in the prog_parameter.c code, so I need to move it
into C, make it non-static, and so on. This probably isn't the ideal
place for it, but I couldn't think of a better one.
Acked-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/glsl/link_varyings.h | 28 | ||||
-rw-r--r-- | src/mesa/program/prog_parameter.h | 31 |
2 files changed, 33 insertions, 26 deletions
diff --git a/src/compiler/glsl/link_varyings.h b/src/compiler/glsl/link_varyings.h index e052a2b3e56..16bf1668a4c 100644 --- a/src/compiler/glsl/link_varyings.h +++ b/src/compiler/glsl/link_varyings.h @@ -33,6 +33,7 @@ #include "main/glheader.h" +#include "program/prog_parameter.h" struct gl_shader_program; @@ -161,32 +162,7 @@ private: bool is_64bit() const { - switch (this->type) { - case GL_DOUBLE: - case GL_DOUBLE_VEC2: - case GL_DOUBLE_VEC3: - case GL_DOUBLE_VEC4: - case GL_DOUBLE_MAT2: - case GL_DOUBLE_MAT2x3: - case GL_DOUBLE_MAT2x4: - case GL_DOUBLE_MAT3: - case GL_DOUBLE_MAT3x2: - case GL_DOUBLE_MAT3x4: - case GL_DOUBLE_MAT4: - case GL_DOUBLE_MAT4x2: - case GL_DOUBLE_MAT4x3: - case GL_INT64_ARB: - case GL_INT64_VEC2_ARB: - case GL_INT64_VEC3_ARB: - case GL_INT64_VEC4_ARB: - case GL_UNSIGNED_INT64_ARB: - case GL_UNSIGNED_INT64_VEC2_ARB: - case GL_UNSIGNED_INT64_VEC3_ARB: - case GL_UNSIGNED_INT64_VEC4_ARB: - return true; - default: - return false; - } + return _mesa_gl_datatype_is_64bit(this->type); } /** diff --git a/src/mesa/program/prog_parameter.h b/src/mesa/program/prog_parameter.h index cc551c18910..78c9909f5cc 100644 --- a/src/mesa/program/prog_parameter.h +++ b/src/mesa/program/prog_parameter.h @@ -185,6 +185,37 @@ _mesa_lookup_parameter_index(const struct gl_program_parameter_list *paramList, return -1; } +static inline bool +_mesa_gl_datatype_is_64bit(GLenum datatype) +{ + switch (datatype) { + case GL_DOUBLE: + case GL_DOUBLE_VEC2: + case GL_DOUBLE_VEC3: + case GL_DOUBLE_VEC4: + case GL_DOUBLE_MAT2: + case GL_DOUBLE_MAT2x3: + case GL_DOUBLE_MAT2x4: + case GL_DOUBLE_MAT3: + case GL_DOUBLE_MAT3x2: + case GL_DOUBLE_MAT3x4: + case GL_DOUBLE_MAT4: + case GL_DOUBLE_MAT4x2: + case GL_DOUBLE_MAT4x3: + case GL_INT64_ARB: + case GL_INT64_VEC2_ARB: + case GL_INT64_VEC3_ARB: + case GL_INT64_VEC4_ARB: + case GL_UNSIGNED_INT64_ARB: + case GL_UNSIGNED_INT64_VEC2_ARB: + case GL_UNSIGNED_INT64_VEC3_ARB: + case GL_UNSIGNED_INT64_VEC4_ARB: + return true; + default: + return false; + } +} + #ifdef __cplusplus } #endif |