mesa: add glGet for GL_ARB_sampler_objects
authorBrian Paul <brianp@vmware.com>
Sun, 10 Apr 2011 18:46:15 +0000 (12:46 -0600)
committerBrian Paul <brianp@vmware.com>
Sun, 10 Apr 2011 19:12:49 +0000 (13:12 -0600)
src/mesa/main/get.c

index 6ef8c8792e6e4a8f7824e110aa62ff94ddec2bc2..e18803280c1a52fc0cce3950364d9917826cf9a1 100644 (file)
@@ -278,6 +278,11 @@ static const int extra_EXT_gpu_shader4[] = {
    EXTRA_END
 };
 
+static const int extra_ARB_sampler_objects[] = {
+   EXT(ARB_sampler_objects),
+   EXTRA_END
+};
+
 
 EXTRA_EXT(ARB_ES2_compatibility);
 EXTRA_EXT(ARB_multitexture);
@@ -1249,6 +1254,10 @@ static const struct value_desc values[] = {
    { GL_TEXTURE_BUFFER_ARB, LOC_CUSTOM, TYPE_INT, 0,
      extra_ARB_texture_buffer_object },
 
+   /* GL_ARB_sampler_objects / GL 3.3 */
+   { GL_SAMPLER_BINDING,
+     LOC_CUSTOM, TYPE_INT, GL_SAMPLER_BINDING, extra_ARB_sampler_objects },
+
    /* GL 3.0 */
    { GL_NUM_EXTENSIONS, LOC_CUSTOM, TYPE_INT, 0, extra_version_30 },
    { GL_MAJOR_VERSION, CONTEXT_INT(VersionMajor), extra_version_30 },
@@ -1709,6 +1718,14 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
          .CurrentTex[TEXTURE_BUFFER_INDEX]->BufferObjectFormat;
       break;
 
+   /* GL_ARB_sampler_objects */
+   case GL_SAMPLER_BINDING:
+      {
+         struct gl_sampler_object *samp =
+            ctx->Texture.Unit[ctx->Texture.CurrentUnit].Sampler;
+         v->value_int = samp ? samp->Name : 0;
+      }
+      break;
    }   
 }