Mesa (arb_geometry_shader4): gs: fixed input also for geometry shaders

Zack Rusin zack at kemper.freedesktop.org
Wed May 20 01:59:27 UTC 2009


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

Author: Zack Rusin <zackr at vmware.com>
Date:   Tue May 19 14:37:57 2009 -0400

gs: fixed input also for geometry shaders

---

 src/mesa/shader/slang/slang_codegen.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c
index 41f5878..b03d5dc 100644
--- a/src/mesa/shader/slang/slang_codegen.c
+++ b/src/mesa/shader/slang/slang_codegen.c
@@ -4565,9 +4565,15 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var,
    }
    else if (var->type.qualifier == SLANG_QUAL_FIXEDINPUT) {
       GLuint swizzle = SWIZZLE_XYZW; /* silence compiler warning */
-      GLint index = _slang_input_index(varName, GL_FRAGMENT_PROGRAM_ARB,
-                                       &swizzle);
-      store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle);
+      if (type == SLANG_UNIT_FRAGMENT_BUILTIN) {
+         GLint index = _slang_input_index(varName, GL_FRAGMENT_PROGRAM_ARB,
+                                          &swizzle);
+         store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle);
+      } else if (type == SLANG_UNIT_GEOMETRY_BUILTIN) {
+         GLint index = _slang_input_index(varName, MESA_GEOMETRY_PROGRAM,
+                                          &swizzle);
+         store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle);
+      }
       if (dbg) printf("INPUT ");
    }
    else if (var->type.qualifier == SLANG_QUAL_FIXEDOUTPUT) {




More information about the mesa-commit mailing list