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

Timothy Arceri timothy.arceri at collabora.com
Thu Nov 19 03:06:36 PST 2015


Hi Gregory,

My apologies I only just found this series, when you said your Mesa patchs I
thought you meant the ones in the bug comments.

It seems we have taken very different appoaches to the problem with inputs, I
do think my change here is simpler and my series also address outputs being
removed too. It would be great if you could test my series with PCSX2.

I will review and test out your patch 3 tomorrow, thanks for this and sorry
for the confusion on my side.

Tim

On Sun, 2015-10-25 at 15:01 +0100, Gregory Hainaut wrote:
> 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(-)
> 


More information about the mesa-dev mailing list