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

Gregory Hainaut gregory.hainaut at gmail.com
Sun Oct 25 07:01:33 PDT 2015


v4:
Rebase against lastest master and fix bad variable name in assert.

A new test was developed to properly check commit 4 behavior.
I ran most of the piglit test without regression.

v3:
Squash old 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.

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