[Mesa-dev] Mesa (master): glsl: restrict consumer stage condition to modify interpolation type

Samuel Iglesias Gonsálvez siglesias at igalia.com
Fri Jan 15 01:07:50 PST 2016


On Fri, 2016-01-15 at 17:01 +0900, Michel Dänzer wrote:
> On 15.01.2016 16:55, Samuel Iglesias Gonsálvez wrote:
> > On Fri, 2016-01-15 at 16:36 +0900, Michel Dänzer wrote:
> > > On 15.01.2016 15:12, Samuel Iglesias =?UNKNOWN?Q?Gons=C3=A1lvez?=
> > > wrote:
> > > > Module: Mesa
> > > > Branch: master
> > > > Commit: 781d2787bc1cf975757a95d0d9324f734fa61c09
> > > > URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=781d27
> > > > 87bc
> > > > 1cf975757a95d0d9324f734fa61c09
> > > > 
> > > > Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
> > > > Date:   Tue Jan 12 15:36:56 2016 +0100
> > > > 
> > > > glsl: restrict consumer stage condition to modify interpolation
> > > > type
> > > > 
> > > > Only modify interpolation type for integer-based varyings or
> > > > when
> > > > the
> > > > consumer is known and different than fragment shader.
> > > > 
> > > > If we are linking separate shader programs and the consumer is
> > > > unknown,
> > > > the consumer could be added later and be a fragment shader. If
> > > > we
> > > > modify the interpolation type in this case, we could read wrong
> > > > values in the fragment shader inputs, as shown in bug 93320.
> > > 
> > > This change broke 4 GL_ARB_gpu_shader_fp64 piglit tests for me
> > > with
> > > radeonsi. Here's the assertion failure and backtrace for one of
> > > them:
> > > 
> > 
> > Mmm, OK. I am going to check what it is going on here. Maybe I need
> > to
> > restrict the consumer stage condition only to separate shader
> > objects.
> > 

Yeah, that was the case. I have sent a patch for it:
http://patchwork.freedesktop.org/patch/70598/

> > Once I have a patch, I will send it to you privately to test if it
> > is
> > fixed because I don't a machine with radeonsi driver.
> > 
> > Can you tell me which tests are failing? Perhaps I can reproduce
> > this
> > issue with llvmpipe.
> 
> Yes, I can reproduce the problem with llvmpipe. The failing tests
> are:
> 
> spec at arb_gpu_shader_fp64@execution at arb_gpu_shader_fp64-double-
> gettransformfeedbackvarying
> spec at arb_gpu_shader_fp64@execution at arb_gpu_shader_fp64-tf-interleaved
> spec at arb_gpu_shader_fp64@execution at arb_gpu_shader_fp64-tf-
> interleaved-aligned
> spec at arb_gpu_shader_fp64@execution at arb_gpu_shader_fp64-tf-separate
> 

Thanks for reporting this issue and for testing the patch!

Sam


More information about the mesa-dev mailing list