Checkpoint glsl compiler work: sampler uniforms now implemented, linked properly.
diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c
index d6dacdd..bd258f8 100644
--- a/src/mesa/shader/shader_api.c
+++ b/src/mesa/shader/shader_api.c
@@ -741,7 +741,8 @@
* We need to handle things like "e.c[0].b" as seen in the
* GLSL orange book, page 189.
*/
- if (u->Type == PROGRAM_UNIFORM && !strcmp(u->Name, name)) {
+ if ((u->Type == PROGRAM_UNIFORM ||
+ u->Type == PROGRAM_SAMPLER) && !strcmp(u->Name, name)) {
return loc;
}
}
@@ -925,6 +926,12 @@
return;
}
}
+
+ if (shProg->Uniforms->Parameters[location].Type == PROGRAM_SAMPLER) {
+ _slang_resolve_samplers(shProg, &shProg->VertexProgram->Base);
+ _slang_resolve_samplers(shProg, &shProg->FragmentProgram->Base);
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ }
}