user-declared uniform structs not supported yet (see bug 10908)
authorBrian <brian@yutani.localnet.net>
Fri, 11 May 2007 21:35:12 +0000 (15:35 -0600)
committerBrian <brian@yutani.localnet.net>
Fri, 11 May 2007 21:35:12 +0000 (15:35 -0600)
src/mesa/shader/slang/slang_codegen.c

index cf32b501a6273db5c8328a6542992561baf0288f..60ffc48f54bc81f6d9ba508743afd5b9c237bdeb 100644 (file)
@@ -2863,9 +2863,22 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var,
                          * MAX2(var->array_len, 1);
       if (prog) {
          /* user-defined uniform */
-         GLint uniformLoc = _mesa_add_uniform(prog->Parameters, varName,
-                                              size, datatype);
-         store = _slang_new_ir_storage(PROGRAM_UNIFORM, uniformLoc, size);
+         if (datatype == GL_NONE) {
+            if (var->type.specifier.type == SLANG_SPEC_STRUCT) {
+               _mesa_problem(NULL, "user-declared uniform structs not supported yet");
+            }
+            else {
+               slang_info_log_error(A->log,
+                                    "invalid datatype for uniform variable %s",
+                                    (char *) var->a_name);
+            }
+            return GL_FALSE;
+         }
+         else {
+            GLint uniformLoc = _mesa_add_uniform(prog->Parameters, varName,
+                                                 size, datatype);
+            store = _slang_new_ir_storage(PROGRAM_UNIFORM, uniformLoc, size);
+         }
       }
       else {
          /* pre-defined uniform, like gl_ModelviewMatrix */