On Monday, November 7, 2016 9:50:41 PM PST Ian Romanick wrote:
> From: Ian Romanick <ian.d.roman...@intel.com>
> 
> As the linked per-stage shaders are processed, mark any block that has a
> field that is accessed as referenced.  When combining all the linked
> shaders, combine the per-stage stageref masks.
> 
> This fixes a number of GLES CTS tests including
> ESEXT-CTS.geometry_shader.program_resource.program_resource.  However,
> it makes quite a few more fail.  I have diagnosed the failures, but I'm
> not sure whether we or the tests are wrong.  After optimizations are
> applied, all of the tests are of the form:
> 
>     buffer X {
>         float f;
>     } x;
> 
>     void main()
>     {
>         x.f = x.f;
>     }
> 
> The test then queries that x is referenced by that shader stage.  We
> eliminate the assignment of x.f to itself, and that removes the last
> reference to x.  We report that x is not referenced, and the test fails.
> I do not know whether or not we are allowed to eliminate that assignment
> of x.f to itself.
> 
> Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>

Thanks for fixing all of this, Ian!

Series is:
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to