[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