diff options
author | Brian <brian@yutani.localnet.net> | 2007-05-11 15:50:33 -0600 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2007-05-14 09:38:23 -0600 |
commit | 6a587c01242b6227658ea1160efa34a221d52368 (patch) | |
tree | 80e5153022e5ecd0bc327bc0da9ea8f3093f295e /src/mesa/shader/slang | |
parent | 524c3336c494be4d556c1685951bf8200e5f5047 (diff) |
comment about fixing uniform structs
Diffstat (limited to 'src/mesa/shader/slang')
-rw-r--r-- | src/mesa/shader/slang/slang_codegen.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c index 60ffc48f54..02260d3422 100644 --- a/src/mesa/shader/slang/slang_codegen.c +++ b/src/mesa/shader/slang/slang_codegen.c @@ -2866,6 +2866,19 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var, if (datatype == GL_NONE) { if (var->type.specifier.type == SLANG_SPEC_STRUCT) { _mesa_problem(NULL, "user-declared uniform structs not supported yet"); + /* XXX what we need to do is unroll the struct into its + * basic types, creating a uniform variable for each. + * For example: + * struct foo { + * vec3 a; + * vec4 b; + * }; + * uniform foo f; + * + * Should produce uniforms: + * "f.a" (GL_FLOAT_VEC3) + * "f.b" (GL_FLOAT_VEC4) + */ } else { slang_info_log_error(A->log, |