[Mesa-dev] [PATCH] st/mesa: fix transform feedback of unsubscripted gl_ClipDistance array

Marcin Slusarz marcin.slusarz at gmail.com
Sun Jun 17 03:25:45 PDT 2012


On Sun, Jun 17, 2012 at 07:17:35AM +0400, Vadim Girlin wrote:
> On Sun, 2012-06-17 at 00:43 +0200, Marcin Slusarz wrote:
> > gl_ClipDistance needs special treatment in form of lowering pass
> > which transforms gl_ClipDistance representation from float[] to
> > vec4[]. There are 2 implementations - at glsl linker level (enabled
> > by LowerClipDistance option) and at glsl_to_tgsi level (enabled
> > unconditionally for gallium drivers). Second implementation is
> > incomplete - it does not take into account transform feedback (see
> > commit 642e5b413e0890b2070ba78fde42db381eaf02e5 "mesa: Fix transform
> > feedback of unsubscripted gl_ClipDistance array" for details).
> > 
> > There are 2 possible fixes:
> > - adding transform feedback support into glsl_to_tgsi version
> > - ripping gl_ClipDistance support from glsl_to_tgsi and enabling
> >   gl_ClipDistance lowering on glsl linker side
> > 
> > This patch implements 2nd option. All it does is:
> > - reverts most of the commit 59be691638200797583bce39a83f641d30d97492
> >   "st/mesa: add support for gl_ClipDistance"
> > - changes LowerClipDistance to true
> > 
> > Fixes Piglit tests "EXT_transform_feedback/builtin-varyings
> > gl_ClipDistance[{2,3,4,5,6,7,8}]-no-subscript" on nv50.
> > ---
> > 
> > Can someone test this patch on radeon hw? The command is:
> > ./piglit-run.py -c 0 -t "[Cc]lip[-]*[Dd]istance" tests/quick.tests results/quick.results
> 
> Fixes 8 transform feedback tests on evergreen, no regressions.

Thanks!

Marcin


More information about the mesa-dev mailing list