Mesa (arb_geometry_shader4): gs: fix getters

Zack Rusin zack at kemper.freedesktop.org
Mon Jul 13 20:51:21 UTC 2009


Module: Mesa
Branch: arb_geometry_shader4
Commit: 67d7ef2f562a694ed011c8ca27eb06a148d1025f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=67d7ef2f562a694ed011c8ca27eb06a148d1025f

Author: Zack Rusin <zackr at vmware.com>
Date:   Mon Jul 13 16:55:18 2009 -0400

gs: fix getters

---

 src/mesa/main/get.c                   |   68 +++++++++++++++++++++++++++-----
 src/mesa/main/get_gen.py              |   16 ++++++++
 src/mesa/shader/slang/slang_codegen.c |    2 +-
 3 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 35c8aeb..caf8cf4 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1867,6 +1867,30 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
          CHECK_EXT1(ARB_vertex_shader, "GetBooleanv");
          params[0] = INT_TO_BOOLEAN(MAX_COMBINED_TEXTURE_IMAGE_UNITS);
          break;
+      case GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxGeometryTextureImageUnit);
+         break;
+      case GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxGeometryOutputVertices);
+         break;
+      case GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxGeometryTotalOutputComponents);
+         break;
+      case GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxGeometryUniformComponents);
+         break;
+      case GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxGeometryVaryingComponents);
+         break;
+      case GL_MAX_VERTEX_VARYING_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetBooleanv");
+         params[0] = INT_TO_BOOLEAN(ctx->Const.GeometryProgram.MaxVertexVaryingComponents);
+         break;
       case GL_CURRENT_PROGRAM:
          CHECK_EXT1(ARB_shader_objects, "GetBooleanv");
          params[0] = INT_TO_BOOLEAN(ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0);
@@ -3689,6 +3713,30 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
          CHECK_EXT1(ARB_vertex_shader, "GetFloatv");
          params[0] = (GLfloat)(MAX_COMBINED_TEXTURE_IMAGE_UNITS);
          break;
+      case GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxGeometryTextureImageUnit);
+         break;
+      case GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxGeometryOutputVertices);
+         break;
+      case GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxGeometryTotalOutputComponents);
+         break;
+      case GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxGeometryUniformComponents);
+         break;
+      case GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxGeometryVaryingComponents);
+         break;
+      case GL_MAX_VERTEX_VARYING_COMPONENTS_ARB:
+         CHECK_EXT1(ARB_geometry_shader4, "GetFloatv");
+         params[0] = (GLfloat)(ctx->Const.GeometryProgram.MaxVertexVaryingComponents);
+         break;
       case GL_CURRENT_PROGRAM:
          CHECK_EXT1(ARB_shader_objects, "GetFloatv");
          params[0] = (GLfloat)(ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0);
@@ -5511,15 +5559,6 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
          CHECK_EXT1(ARB_vertex_shader, "GetIntegerv");
          params[0] = MAX_COMBINED_TEXTURE_IMAGE_UNITS;
          break;
-      case GL_CURRENT_PROGRAM:
-         CHECK_EXT1(ARB_shader_objects, "GetIntegerv");
-         params[0] = ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0;
-         break;
-      case GL_MAX_SAMPLES:
-         CHECK_EXT1(ARB_framebuffer_object, "GetIntegerv");
-         params[0] = ctx->Const.MaxSamples;
-         break;
-<<<<<<< HEAD:src/mesa/main/get.c
       case GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB:
          CHECK_EXT1(ARB_geometry_shader4, "GetIntegerv");
          params[0] = ctx->Const.GeometryProgram.MaxGeometryTextureImageUnit;
@@ -5543,11 +5582,18 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
       case GL_MAX_VERTEX_VARYING_COMPONENTS_ARB:
          CHECK_EXT1(ARB_geometry_shader4, "GetIntegerv");
          params[0] = ctx->Const.GeometryProgram.MaxVertexVaryingComponents;
-=======
+         break;
+      case GL_CURRENT_PROGRAM:
+         CHECK_EXT1(ARB_shader_objects, "GetIntegerv");
+         params[0] = ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0;
+         break;
+      case GL_MAX_SAMPLES:
+         CHECK_EXT1(ARB_framebuffer_object, "GetIntegerv");
+         params[0] = ctx->Const.MaxSamples;
+         break;
       case GL_VERTEX_ARRAY_BINDING_APPLE:
          CHECK_EXT1(APPLE_vertex_array_object, "GetIntegerv");
          params[0] = ctx->Array.ArrayObj->Name;
->>>>>>> origin/master:src/mesa/main/get.c
          break;
       default:
          _mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv(pname=0x%x)", pname);
diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py
index 5666ad0..abb74ed 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -1001,6 +1001,22 @@ StateVars = [
 	( "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", GLint,
 	  ["MAX_COMBINED_TEXTURE_IMAGE_UNITS"], "", ["ARB_vertex_shader"] ),
 
+        # GL_ARB_geometry_shader4
+	( "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxGeometryTextureImageUnit"], "",
+	  ["ARB_geometry_shader4"] ),
+	( "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxGeometryOutputVertices"], "", ["ARB_geometry_shader4"] ),
+	( "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxGeometryTotalOutputComponents"], "", ["ARB_geometry_shader4"] ),
+	( "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxGeometryUniformComponents"], "", ["ARB_geometry_shader4"] ),
+	( "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxGeometryVaryingComponents"], "", ["ARB_geometry_shader4"] ),
+	( "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB", GLint,
+	  ["ctx->Const.GeometryProgram.MaxVertexVaryingComponents"], "", ["ARB_geometry_shader4"] ),
+
+
 	# GL_ARB_shader_objects
 	# Actually, this token isn't part of GL_ARB_shader_objects, but is
 	# close enough for now.
diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c
index 5ee2eab..d93097e 100644
--- a/src/mesa/shader/slang/slang_codegen.c
+++ b/src/mesa/shader/slang/slang_codegen.c
@@ -851,7 +851,7 @@ _slang_is_noop(const slang_operation *oper)
 /**
  * Recursively search tree for a node of the given type.
  */
-#if 0
+#if 1
 static slang_operation *
 _slang_find_node_type(slang_operation *oper, slang_operation_type type)
 {




More information about the mesa-commit mailing list