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

Ian Romanick idr at kemper.freedesktop.org
Thu Jul 7 21:45:13 UTC 2011


Module: Mesa
Branch: 7.10
Commit: 4e2a5d013d24105cb746b9ccd4d3448f938768dc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e2a5d013d24105cb746b9ccd4d3448f938768dc

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 c88a745..74252da 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -1918,7 +1918,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