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

Paul Berry stereotype441 at kemper.freedesktop.org
Tue Jun 28 20:50:01 UTC 2011


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

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

---

 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