Mesa (master): glsl: create program resource list after LinkShader

Tapani Pälli tpalli at kemper.freedesktop.org
Wed Jul 1 12:20:03 UTC 2015


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

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Mon Jun 29 15:23:45 2015 +0300

glsl: create program resource list after LinkShader

Resource list can be created properly  only after LinkShader hook
has been called to make sure all dead variables have been removed.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Martin Peres <martin.peres at linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90925

---

 src/glsl/linker.cpp             |    4 ----
 src/mesa/program/ir_to_mesa.cpp |    2 ++
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index e0ce00c..71a45e8 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -3242,10 +3242,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
       }
    }
 
-   build_program_resource_list(ctx, prog);
-   if (!prog->LinkStatus)
-      goto done;
-
    /* FINISHME: Assign fragment shader output locations. */
 
 done:
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 18e3bc5..0b2eb12 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -2975,6 +2975,8 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
    if (prog->LinkStatus) {
       if (!ctx->Driver.LinkShader(ctx, prog)) {
 	 prog->LinkStatus = GL_FALSE;
+      } else {
+         build_program_resource_list(ctx, prog);
       }
    }
 




More information about the mesa-commit mailing list