Mesa (master): mesa: Add support for glGetIntegeri_v from GL_ARB_uniform_buffer_object.

Eric Anholt anholt at kemper.freedesktop.org
Thu Jun 21 18:06:53 UTC 2012


Module: Mesa
Branch: master
Commit: d103fead197c684c8396183d81bb846213afe81a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d103fead197c684c8396183d81bb846213afe81a

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jun 18 15:59:13 2012 -0700

mesa: Add support for glGetIntegeri_v from GL_ARB_uniform_buffer_object.

Fixes piglit ARB_uniform_buffer_object/getintegeri_v.

Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/main/get.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 9e9ddcb..6773252 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -2566,6 +2566,30 @@ find_value_indexed(const char *func, GLenum pname, int index, union value *v)
 	 goto invalid_enum;
       v->value_int = ctx->TransformFeedback.CurrentObject->BufferNames[index];
       return TYPE_INT;
+
+   case GL_UNIFORM_BUFFER_BINDING:
+      if (index >= ctx->Const.MaxUniformBufferBindings)
+	 goto invalid_value;
+      if (!ctx->Extensions.ARB_uniform_buffer_object)
+	 goto invalid_enum;
+      v->value_int = ctx->UniformBufferBindings[index].BufferObject->Name;
+      return TYPE_INT;
+
+   case GL_UNIFORM_BUFFER_START:
+      if (index >= ctx->Const.MaxUniformBufferBindings)
+	 goto invalid_value;
+      if (!ctx->Extensions.ARB_uniform_buffer_object)
+	 goto invalid_enum;
+      v->value_int = ctx->UniformBufferBindings[index].Offset;
+      return TYPE_INT;
+
+   case GL_UNIFORM_BUFFER_SIZE:
+      if (index >= ctx->Const.MaxUniformBufferBindings)
+	 goto invalid_value;
+      if (!ctx->Extensions.ARB_uniform_buffer_object)
+	 goto invalid_enum;
+      v->value_int = ctx->UniformBufferBindings[index].Size;
+      return TYPE_INT;
    }
 
  invalid_enum:




More information about the mesa-commit mailing list