<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [swrast] piglit shader_runner fast_color_clear/all-colors regression"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94295">94295</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[swrast] piglit shader_runner fast_color_clear/all-colors regression
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>11.2
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Keywords</th>
          <td>bisected, regression
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Mesa core
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>vlee@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>imirkin@alum.mit.edu, lemody@gmail.com, plamena.manolova@intel.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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@entry=0xf2ae10,
boolean_true=1065353216,
num_explicit_uniform_locs=num_explicit_uniform_locs@entry=4294967295, 
    max_uniform_locs=98304) at glsl/link_uniforms.cpp:1238
#2  0x00007fd99ef73db9 in link_shaders (ctx=ctx@entry=0x7fd9a4a99010,
prog=prog@entry=0xf2ae10) at glsl/linker.cpp:4566
#3  0x00007fd99eecb3fb in _mesa_glsl_link_shader (ctx=ctx@entry=0x7fd9a4a99010,
prog=prog@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 <<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>>
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 <<a href="mailto:tapani.palli@intel.com">tapani.palli@intel.com</a>>
    Signed-off-by: Plamena Manolova <<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>>
    Reviewed-by: Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>>
    Bugzilla: <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [HSW,BDW;SKL][GLES 3.1 CTS]ES31-CTS.explicit_uniform_location.uniform-loc-mix-with-implicit-max-* fail"
   href="show_bug.cgi?id=93696">https://bugs.freedesktop.org/show_bug.cgi?id=93696</a>

:040000 040000 5848c556c369c2c798c1c1e036c70c740b56a97a
25915fac71a54954aafd0139a55045ba394969e6 M    src
bisect run success</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>