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 <tarceri@itsqueeze.com>
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "main/glheader.h"
|
#include "main/glheader.h"
|
||||||
|
#include "program/prog_parameter.h"
|
||||||
|
|
||||||
|
|
||||||
struct gl_shader_program;
|
struct gl_shader_program;
|
||||||
@@ -161,32 +162,7 @@ private:
|
|||||||
|
|
||||||
bool is_64bit() const
|
bool is_64bit() const
|
||||||
{
|
{
|
||||||
switch (this->type) {
|
return _mesa_gl_datatype_is_64bit(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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -185,6 +185,37 @@ _mesa_lookup_parameter_index(const struct gl_program_parameter_list *paramList,
|
|||||||
return -1;
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user