diff options
Diffstat (limited to 'framework/opengl/gluShaderUtil.hpp')
-rw-r--r-- | framework/opengl/gluShaderUtil.hpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/framework/opengl/gluShaderUtil.hpp b/framework/opengl/gluShaderUtil.hpp index 9ebb745b9..45b8a1e44 100644 --- a/framework/opengl/gluShaderUtil.hpp +++ b/framework/opengl/gluShaderUtil.hpp @@ -112,6 +112,20 @@ enum DataType TYPE_FLOAT_MAT4X3, TYPE_FLOAT_MAT4, + TYPE_DOUBLE, + TYPE_DOUBLE_VEC2, + TYPE_DOUBLE_VEC3, + TYPE_DOUBLE_VEC4, + TYPE_DOUBLE_MAT2, + TYPE_DOUBLE_MAT2X3, + TYPE_DOUBLE_MAT2X4, + TYPE_DOUBLE_MAT3X2, + TYPE_DOUBLE_MAT3, + TYPE_DOUBLE_MAT3X4, + TYPE_DOUBLE_MAT4X2, + TYPE_DOUBLE_MAT4X3, + TYPE_DOUBLE_MAT4, + TYPE_INT, TYPE_INT_VEC2, TYPE_INT_VEC3, @@ -197,6 +211,7 @@ const char* getDataTypeName (DataType dataType); int getDataTypeScalarSize (DataType dataType); DataType getDataTypeScalarType (DataType dataType); DataType getDataTypeFloatScalars (DataType dataType); +DataType getDataTypeDoubleScalars (DataType dataType); DataType getDataTypeVector (DataType scalarType, int size); DataType getDataTypeFloatVec (int vecSize); DataType getDataTypeIntVec (int vecSize); @@ -206,13 +221,14 @@ DataType getDataTypeMatrix (int numCols, int numRows); DataType getDataTypeFromGLType (deUint32 glType); inline bool isDataTypeFloatOrVec (DataType dataType) { return (dataType >= TYPE_FLOAT) && (dataType <= TYPE_FLOAT_VEC4); } -inline bool isDataTypeMatrix (DataType dataType) { return (dataType >= TYPE_FLOAT_MAT2) && (dataType <= TYPE_FLOAT_MAT4); } +inline bool isDataTypeDoubleOrDVec (DataType dataType) { return (dataType >= TYPE_DOUBLE) && (dataType <= TYPE_DOUBLE_VEC4); } +inline bool isDataTypeMatrix (DataType dataType) { return ((dataType >= TYPE_FLOAT_MAT2) && (dataType <= TYPE_FLOAT_MAT4)) || ((dataType >= TYPE_DOUBLE_MAT2) && (dataType <= TYPE_DOUBLE_MAT4)); } inline bool isDataTypeIntOrIVec (DataType dataType) { return (dataType >= TYPE_INT) && (dataType <= TYPE_INT_VEC4); } -inline bool isDataTypeUintOrUVec (DataType dataType) { return (dataType >= TYPE_UINT) && (dataType <= TYPE_UINT_VEC4); } +inline bool isDataTypeUintOrUVec (DataType dataType) { return (dataType >= TYPE_UINT) && (dataType <= TYPE_UINT_VEC4); } inline bool isDataTypeBoolOrBVec (DataType dataType) { return (dataType >= TYPE_BOOL) && (dataType <= TYPE_BOOL_VEC4); } -inline bool isDataTypeScalar (DataType dataType) { return (dataType == TYPE_FLOAT) || (dataType == TYPE_INT) || (dataType == TYPE_UINT) || (dataType == TYPE_BOOL); } -inline bool isDataTypeVector (DataType dataType) { return deInRange32(dataType, TYPE_FLOAT_VEC2, TYPE_FLOAT_VEC4) || deInRange32(dataType, TYPE_INT_VEC2, TYPE_INT_VEC4) || deInRange32(dataType, TYPE_UINT_VEC2, TYPE_UINT_VEC4) || deInRange32(dataType, TYPE_BOOL_VEC2, TYPE_BOOL_VEC4); } -inline bool isDataTypeScalarOrVector (DataType dataType) { return deInRange32(dataType, TYPE_FLOAT, TYPE_FLOAT_VEC4) || deInRange32(dataType, TYPE_INT, TYPE_INT_VEC4) || deInRange32(dataType, TYPE_UINT, TYPE_UINT_VEC4) || deInRange32(dataType, TYPE_BOOL, TYPE_BOOL_VEC4); } +inline bool isDataTypeScalar (DataType dataType) { return (dataType == TYPE_FLOAT) || (dataType == TYPE_DOUBLE) ||(dataType == TYPE_INT) || (dataType == TYPE_UINT) || (dataType == TYPE_BOOL); } +inline bool isDataTypeVector (DataType dataType) { return deInRange32(dataType, TYPE_FLOAT_VEC2, TYPE_FLOAT_VEC4) || deInRange32(dataType, TYPE_DOUBLE_VEC2, TYPE_DOUBLE_VEC4) || deInRange32(dataType, TYPE_INT_VEC2, TYPE_INT_VEC4) || deInRange32(dataType, TYPE_UINT_VEC2, TYPE_UINT_VEC4) || deInRange32(dataType, TYPE_BOOL_VEC2, TYPE_BOOL_VEC4); } +inline bool isDataTypeScalarOrVector (DataType dataType) { return deInRange32(dataType, TYPE_FLOAT, TYPE_FLOAT_VEC4) || deInRange32(dataType, TYPE_DOUBLE, TYPE_DOUBLE_VEC4) || deInRange32(dataType, TYPE_INT, TYPE_INT_VEC4) || deInRange32(dataType, TYPE_UINT, TYPE_UINT_VEC4) || deInRange32(dataType, TYPE_BOOL, TYPE_BOOL_VEC4); } inline bool isDataTypeSampler (DataType dataType) { return (dataType >= TYPE_SAMPLER_1D) && (dataType <= TYPE_UINT_SAMPLER_2D_MULTISAMPLE); } inline bool isDataTypeImage (DataType dataType) { return (dataType >= TYPE_IMAGE_2D) && (dataType <= TYPE_UINT_IMAGE_3D); } inline bool isDataTypeSamplerMultisample(DataType dataType) { return (dataType >= TYPE_SAMPLER_2D_MULTISAMPLE) && (dataType <= TYPE_UINT_SAMPLER_2D_MULTISAMPLE); } |