[Mesa-dev] [Bug 94295] [swrast] piglit shader_runner fast_color_clear/all-colors regression

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 25 20:11:55 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=94295

            Bug ID: 94295
           Summary: [swrast] piglit shader_runner
                    fast_color_clear/all-colors regression
           Product: Mesa
           Version: 11.2
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Keywords: bisected, regression
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: vlee at freedesktop.org
        QA Contact: mesa-dev at lists.freedesktop.org
                CC: imirkin at alum.mit.edu, lemody at gmail.com,
                    plamena.manolova at intel.com

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

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160225/5cf2b098/attachment-0001.html>


More information about the mesa-dev mailing list