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);
+   }
 }