[Mesa-dev] Indirect fixes for Samplers v3

Timothy Arceri t_arceri at yahoo.com.au
Tue Sep 8 21:46:08 PDT 2015


On Tue, 2015-09-08 at 15:25 -0700, Mark Janes wrote:
> I tested this series, and found some issues:
> 
> The following tests assert on g33:
>     piglit.shaders.glsl-fwidth
>     piglit.shaders.glsl-fs-sampler-numbering
>     piglit.shaders.glsl-lod-bias
>     piglit.shaders.glsl-kwin-blur-1
>     piglit.shaders.glsl-bug-22603
>     piglit.shaders.glsl-fs-texturecube
>     piglit.shaders.glsl-fs-texture2drect
>     piglit.shaders.glsl-fs-texture2drect-proj3
>     piglit.shaders.glsl-fs-texturecube-2
>     piglit.shaders.glsl-fs-sampler-numbering-2
>     piglit.spec.!opengl 2_0.depth-tex-modes-glsl
>     piglit.shaders.glsl-derivs
>     piglit.shaders.glsl-fs-bug25902
>     piglit.shaders.glsl-fs-texturecube-bias
>     piglit.spec.!opengl 2_0.fragment-and-vertex-texturing
>     piglit.shaders.glsl-fs-texture2drect-proj4
>     piglit.spec.!opengl 2_0.max-samplers border
>     piglit.shaders.glsl-vs-texturematrix-2
>     piglit.spec.!opengl 2_0.max-samplers
>     piglit.shaders.glsl-fs-texturecube-2-bias
>     piglit.shaders.glsl-fs-sampler-numbering-3
>     piglit.shaders.glsl-vs-texturematrix-1
> 
>     src/mesa/program/sampler.cpp:108: int
>     _mesa_get_sampler_uniform_value(ir_dereference*,
> gl_shader_program*,
>     const gl_program*): Assertion `0 && "cannot return a sampler"'
>     failed.

Hi Mark,

Thanks for testing the series :)

The tests above are failing because of the last patch in the series
which is optional I had only tested it on the i965 vec4 backend as the
fs backend no longer use this code path (it uses nir instead). For now
I will drop this patch from the series until I can setup my desktop
which has a AMD card to test this code path fully.

The following deqp tests I will need to look into right away.

I finally got deqp to build yay! Last time I tried I didn't get to far
before I gave up. Hopefully I can fix these up quickly.

Thanks Again. 



> 
> Deqp tests asserting:
>     functional.uniform_api.random.3
>     functional.uniform_api.random.23
>     functional.uniform_api.random.79
> 
>     src/glsl/nir/nir_lower_samplers.cpp:146: void
>     lower_sampler(nir_tex_instr*, const gl_shader_program*,
>     gl_shader_stage, nir_builder*): Assertion `!"cannot return a
>     sampler"' failed.
> 
> Deqp tests failing:
>    
>  functional.uniform_api.value.assigned.by_pointer.render.nested_struc
> ts_arrays.sampler2d_samplercube_both
>    
>  functional.uniform_api.value.assigned.by_pointer.render.nested_struc
> ts_arrays.sampler2d_samplercube_fragment
>    
>  functional.uniform_api.value.assigned.by_pointer.render.nested_struc
> ts_arrays.sampler2d_samplercube_vertex
>    
>  functional.uniform_api.value.assigned.by_value.render.nested_structs
> _arrays.sampler2d_samplercube_both
>    
>  functional.uniform_api.value.assigned.by_value.render.nested_structs
> _arrays.sampler2d_samplercube_fragment
>    
>  functional.uniform_api.value.assigned.by_value.render.nested_structs
> _arrays.sampler2d_samplercube_vertex
> 
> Timothy Arceri <t_arceri at yahoo.com.au> writes:
> 
> > The following patch series fixes the indirect sampler indexing
> > piglit tests
> >  /tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/* for
> > nir.
> > It also takes steps toward removing the use of the UniformHash
> > table.
> > 
> > There are no piglit regressions and I've also sent a couple more
> > meaner
> > indirect tests to the piglit list [1].
> > 
> > Patch 6 is a related clean-up that is optional but gets us a step
> > closer to
> > removing the UniformHash hash table.
> > 
> > V3: updates based on feedback from Jason, introduced patch 2 to
> > assign
> > uniforms hidden uniforms their final slot ids *before* storage
> > allocation.
> > Update patch 3 to make sure the location is stored for every stage
> > not
> > just the first one with the uniform.
> > 
> > V2: nir change passes validation in debug build
> > 
> > [1] https://patchwork.freedesktop.org/patch/58063/
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list