[Mesa-dev] [RFC 0/4] V3: Improve GLSL support of GL_ARB_separate_shader_objects

Gregory Hainaut gregory.hainaut at gmail.com
Tue Oct 13 13:22:03 PDT 2015


New version that improves previous code quality and fixes several outstanding issues.
Piglit wasn't run yet.

v3:
Squash commit 1&2
* Use a better name for the new attribute: always_active_io
* Use ir_variable directly instead of ir_variable_refcount_visitor
* Put related code in linker.cpp

Add 2 new commits to fix wrong interface matching in more complex case.
Commit 3: avoid collision between user and linker slot assignment
Commit 4: avoid unpredictable sorting of varying

Commit 1/2/3 fix the piglit test: arb_separate_shader_object-rendezvous_by_name posted on piglit ML
Commit 4 was tested on the PCSX2 application. I need to implement a new test.

Gregory Hainaut (4):
  glsl IR: add always_active_io attribute to ir_variable
  glsl IR: only allow optimization of interstage variable
  glsl: avoid linker and user varying location to overlap
  glsl: don't sort varying in separate shader mode

 src/glsl/ir.cpp            |  1 +
 src/glsl/ir.h              |  7 +++++
 src/glsl/link_varyings.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++----
 src/glsl/linker.cpp        | 73 ++++++++++++++++++++++++++++++++++++++++++++
 src/glsl/opt_dead_code.cpp | 18 +++++++++++
 5 files changed, 169 insertions(+), 6 deletions(-)

-- 
2.1.4



More information about the mesa-dev mailing list