Mesa (7.11): glsl: permit explicit locations on fragment shader outputs, not inputs

Ian Romanick idr at kemper.freedesktop.org
Thu Jul 7 21:24:12 UTC 2011


Module: Mesa
Branch: 7.11
Commit: 98af04207972e18f1e4e0fa2de0cc1d63ef3e610
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98af04207972e18f1e4e0fa2de0cc1d63ef3e610

Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Jun 28 09:42:24 2011 -0700

glsl: permit explicit locations on fragment shader outputs, not inputs

>From the OpenGL docs for GL_ARB_explicit_attrib_location:

    This extension provides a method to pre-assign attribute locations to
    named vertex shader inputs and color numbers to named fragment shader
    outputs.

This was accidentally implemented for fragment shader inputs.  This
patch fixes it to apply to fragment shader outputs.

Fixes piglit tests
spec/ARB_explicit_attrib_location/1.{10,20}/compiler/layout-{01,03,06,07,08,09,10}.frag

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

NOTE: This is a candidate for the 7.10 and 7.11 branches.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38624
(cherry picked from commit b078aad8ab22d840456688480a8c27d4664297ce)

---

 src/glsl/ast_to_hir.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 3b87f0d..35cb206 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -1940,7 +1940,7 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
 	 break;
 
       case fragment_shader:
-	 if (!global_scope || (var->mode != ir_var_in)) {
+	 if (!global_scope || (var->mode != ir_var_out)) {
 	    fail = true;
 	    string = "output";
 	 }




More information about the mesa-commit mailing list