diff options
author | Michal Krol <mjkrol@gmail.org> | 2006-08-09 20:05:26 +0000 |
---|---|---|
committer | Michal Krol <mjkrol@gmail.org> | 2006-08-09 20:05:26 +0000 |
commit | edefc658e4374fea96404715ce176b24942322d3 (patch) | |
tree | e5bbe94949bbf7c2db2965e9f75c854458811037 /src/mesa/shader/slang/slang_storage.h | |
parent | 9f344b3e7d6e23674dd4747faec253f103563b36 (diff) |
More GLSL code - more support for vec4 operations on x86 back-end.
Diffstat (limited to 'src/mesa/shader/slang/slang_storage.h')
-rw-r--r-- | src/mesa/shader/slang/slang_storage.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/slang_storage.h b/src/mesa/shader/slang/slang_storage.h index 532ea638ee..209f8674d9 100644 --- a/src/mesa/shader/slang/slang_storage.h +++ b/src/mesa/shader/slang/slang_storage.h @@ -41,13 +41,19 @@ extern "C" { * * For now, only the three basic types are supported, that is bool, int and float. Other built-in * types like vector or matrix can easily be decomposed into a series of basic types. + * + * If the vec4 module is enabled, 4-component vectors of floats are used when possible. 4x4 matrices + * are constructed of 4 vec4 slots. */ typedef enum slang_storage_type_ { - slang_stor_aggregate, - slang_stor_bool, - slang_stor_int, - slang_stor_float + /* core */ + slang_stor_aggregate, + slang_stor_bool, + slang_stor_int, + slang_stor_float, + /* vec4 */ + slang_stor_vec4 } slang_storage_type; /* @@ -106,6 +112,14 @@ _slang_evaluate_int(slang_assembly_file *file, slang_atom_pool *atoms); /* + * Returns the size (in machine units) of the given storage type. + * It is an error to pass-in slang_stor_aggregate. + * Returns 0 on error. + */ +extern GLuint +_slang_sizeof_type (slang_storage_type); + +/* * Returns total size (in machine units) of the given aggregate. * Returns 0 on error. */ |