X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fdatatype.h;h=29789907cdb78ca9863c328251aa826419b72442;hb=8f12c5d2527f61183b2ae36aab224eefbf52086a;hp=a03b6bda99162f3dd6a59a8facd52c0886b59775;hpb=be6ffe96ecb4707599fe1a6f620c348760213d46;p=libs%2Fgl.git diff --git a/source/core/datatype.h b/source/core/datatype.h index a03b6bda..29789907 100644 --- a/source/core/datatype.h +++ b/source/core/datatype.h @@ -8,9 +8,11 @@ namespace Msp { namespace GL { /** -Identifies a data type. The values are bitfields laid as follows: +Identifies a data type. -__ds addd ccrr _bfg ssss ssss +The values are bitfields laid as follows: + +__hm addd ccrr _bfg ssss ssss ││ │ │ │ │ │││ └╴Size (bytes) ││ │ │ │ │ ││└──────────╴Signed flag ││ │ │ │ │ │└───────────╴Floating-point flag @@ -23,7 +25,7 @@ __ds addd ccrr _bfg ssss ssss └──────────────────────────╴Shadow sampler flag This information is presented for internal documentation purposes only; it is -inadvisable for programs to rely on it. +inadvisable for applications to rely on it. */ enum DataType { @@ -45,6 +47,9 @@ enum DataType INT_VEC2 = 0x1108, INT_VEC3 = 0x210C, INT_VEC4 = 0x3110, + UINT_VEC2 = 0x1008, + UINT_VEC3 = 0x200C, + UINT_VEC4 = 0x3010, BOOL_VEC2 = 0x1402, BOOL_VEC3 = 0x2403, BOOL_VEC4 = 0x3404, @@ -96,6 +101,7 @@ inline bool is_float(DataType t) { return t&0x200; } inline bool is_matrix(DataType t) { return t&0xC000; } inline bool is_vector(DataType t) { return !is_matrix(t) && (t&0x3000); } inline bool is_image(DataType t) { return t&0x70000; } +inline bool is_sampled_image(DataType t) { return t&0x100000; } inline DataType get_matrix_column_type(DataType t) {