[Mesa-dev] [Bug 94295] [swrast] piglit shader_runner fast_color_clear/all-colors regression
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Feb 26 11:08:31 UTC 2016
https://bugs.freedesktop.org/show_bug.cgi?id=94295
--- Comment #2 from Plamena Manolova <plamena.manolova at intel.com> ---
(In reply to Vinson Lee from comment #0)
> mesa: d1509a5848dee57b933139ad2610e99ae09cb5ec (master 11.3.0-devel)
>
> $ ./bin/shader_runner tests/fast_color_clear/all-colors.shader_test -auto
> Segmentation fault (core dumped)
>
>
> (gdb) bt
> #0 find_empty_block (prog=0xf2ae10, uniform=0xf2f030) at
> glsl/link_uniforms.cpp:1051
> #1 link_assign_uniform_locations (prog=prog at entry=0xf2ae10,
> boolean_true=1065353216,
> num_explicit_uniform_locs=num_explicit_uniform_locs at entry=4294967295,
> max_uniform_locs=98304) at glsl/link_uniforms.cpp:1238
> #2 0x00007fd99ef73db9 in link_shaders (ctx=ctx at entry=0x7fd9a4a99010,
> prog=prog at entry=0xf2ae10) at glsl/linker.cpp:4566
> #3 0x00007fd99eecb3fb in _mesa_glsl_link_shader
> (ctx=ctx at entry=0x7fd9a4a99010, prog=prog at entry=0xf2ae10) at
> program/ir_to_mesa.cpp:3036
> #4 0x00007fd99edd1b8a in link_program (ctx=0x7fd9a4a99010,
> program=<optimized out>) at main/shaderapi.c:1048
> #5 0x00007fd9a45dafec in stub_glLinkProgram (program=3) at
> piglit/tests/util/piglit-dispatch-gen.c:32599
> #6 0x000000000040776a in link_and_use_shaders () at
> piglit/tests/shaders/shader_runner.c:1042
> #7 0x000000000040e02c in piglit_init (argc=2, argv=0x7ffd6815d008) at
> piglit/tests/shaders/shader_runner.c:3292
> #8 0x00007fd9a464b7fb in run_test (gl_fw=0xd34c20, argc=2,
> argv=0x7ffd6815d008)
> at piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:73
> #9 0x00007fd9a462ff6a in piglit_gl_test_run (argc=2, argv=0x7ffd6815d008,
> config=0x7ffd6815cec0)
> at piglit/tests/util/piglit-framework-gl.c:199
> #10 0x0000000000405b50 in main (argc=2, argv=0x7ffd6815d008) at
> piglit/tests/shaders/shader_runner.c:54
> (gdb) l
> 1046 find_empty_block(struct gl_shader_program *prog,
> 1047 struct gl_uniform_storage *uniform)
> 1048 {
> 1049 const unsigned entries = MAX2(1, uniform->array_elements);
> 1050
> 1051 foreach_list_typed(struct empty_uniform_block, block, link,
> 1052 &prog->EmptyUniformLocations) {
> 1053 /* Found a block with enough slots to fit the uniform */
> 1054 if (block->slots == entries) {
> 1055 unsigned start = block->start;
> (gdb) print block
> $1 = (empty_uniform_block *) 0x0
> (gdb) print prog->EmptyUniformLocations
> $2 = {head = 0x0, tail = 0x0, tail_pred = 0x0}
>
>
> 65dfb3048e8291675ca33581aeff8921f7ea509d is the first bad commit
> commit 65dfb3048e8291675ca33581aeff8921f7ea509d
> Author: Plamena Manolova <plamena.manolova at intel.com>
> Date: Thu Feb 11 15:00:02 2016 +0200
>
> compiler/glsl: Fix uniform location counting.
>
> This patch moves the calculation of current uniforms to
> link_uniforms, which makes use of UniformRemapTable which
> stores all the reserved uniform locations.
>
> Location assignment for implicit uniforms now tries to use
> any gaps left in the table after the location assignment
> for explicit uniforms. This gives us more space to store more
> uniforms.
>
> Patch is based on earlier patch with following changes/additions:
>
> 1: Move the counting of explicit locations to
> check_explicit_uniform_locations and then pass
> the number to link_assign_uniform_locations.
> 2: Count the number of empty slots in UniformRemapTable
> and store them in a list_head.
> 3: Try to find an empty slot for implicit locations from
> the list, if that fails resize UniformRemapTable.
>
> Fixes following CTS tests:
> ES31-CTS.explicit_uniform_location.uniform-loc-mix-with-implicit-max
>
> ES31-CTS.explicit_uniform_location.uniform-loc-mix-with-implicit-max-array
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> Signed-off-by: Plamena Manolova <plamena.manolova at intel.com>
> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93696
>
> :040000 040000 5848c556c369c2c798c1c1e036c70c740b56a97a
> 25915fac71a54954aafd0139a55045ba394969e6 M src
> bisect run success
Hi Vinson,
Could you verify whether this patch fixes this issue for you?
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160226/29911644/attachment-0001.html>
More information about the mesa-dev
mailing list