<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 - [regression] geometryshader demo fails due to possibly incorrect SPIR-V decoration"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=96342">96342</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[regression] geometryshader demo fails due to possibly incorrect SPIR-V decoration
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

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

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

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

        <tr>
          <th>Component</th>
          <td>Drivers/Vulkan/intel
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>nanleychery@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>jason@jlekstrand.net
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The following demo has regressed,
<a href="https://github.com/SaschaWillems/Vulkan/tree/master/geometryshader">https://github.com/SaschaWillems/Vulkan/tree/master/geometryshader</a>

Expected result:
<a href="https://github.com/SaschaWillems/Vulkan/raw/master/screenshots/geom_normals.png">https://github.com/SaschaWillems/Vulkan/raw/master/screenshots/geom_normals.png</a>
Actual result: demo assert-fails with geometryshader:
../../../../src/compiler/spirv/spirv_to_nir.c:585: type_decoration_cb:
Assertion `!"Decoraiton only allowed for struct members"' failed.


This seems to be a result of 961369d597ae44bd0c03660cd49ced43973ad269.


The file that fails to compile is:
<a href="https://github.com/SaschaWillems/Vulkan/blob/master/data/shaders/geometryshader/normaldebug.geom">https://github.com/SaschaWillems/Vulkan/blob/master/data/shaders/geometryshader/normaldebug.geom</a>
(gdb) bt
#0  0x00007ffff5fa9295 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff5faa6da in abort () from /usr/lib/libc.so.6
#2  0x00007ffff5fa2297 in __assert_fail_base () from /usr/lib/libc.so.6
#3  0x00007ffff5fa2342 in __assert_fail () from /usr/lib/libc.so.6
#4  0x00007ffff784cd43 in type_decoration_cb (b=0x7dc0a0, val=0x8d0510,
member=-1, dec=0x7c0eb0, ctx=0x0) at
../../../../src/compiler/spirv/spirv_to_nir.c:585
#5  0x00007ffff784c37d in _foreach_decoration_helper (b=0x7dc0a0,
base_value=0x8d0510, parent_member=-1, value=0x8d0510, cb=0x7ffff784cc99
<type_decoration_cb>, data=0x0)
    at ../../../../src/compiler/spirv/spirv_to_nir.c:278
#6  0x00007ffff784c3db in vtn_foreach_decoration (b=0x7dc0a0, value=0x8d0510,
cb=0x7ffff784cc99 <type_decoration_cb>, data=0x0) at
../../../../src/compiler/spirv/spirv_to_nir.c:293
#7  0x00007ffff784d9ca in vtn_handle_type (b=0x7dc0a0, opcode=SpvOpTypeStruct,
w=0x8cc244, count=6) at ../../../../src/compiler/spirv/spirv_to_nir.c:864
#8  0x00007ffff7852ca6 in vtn_handle_variable_or_type_instruction (b=0x7dc0a0,
opcode=SpvOpTypeStruct, w=0x8cc244, count=6) at
../../../../src/compiler/spirv/spirv_to_nir.c:2470
#9  0x00007ffff784c101 in vtn_foreach_instruction (b=0x7dc0a0, start=0x8cc0b4,
end=0x8cc774, handler=0x7ffff7852c2d <vtn_handle_variable_or_type_instruction>)
    at ../../../../src/compiler/spirv/spirv_to_nir.c:215
#10 0x00007ffff785319e in spirv_to_nir (words=0x8cc0b4, word_count=717,
spec=0x0, num_spec=0, stage=MESA_SHADER_GEOMETRY, entry_point_name=0x45f24a
"main", options=0x7ffff78f8680 <vector_nir_options_gen6>)
    at ../../../../src/compiler/spirv/spirv_to_nir.c:2776
#11 0x00007ffff774bec7 in anv_shader_compile_to_nir (device=0x7b9150,
module=0x8cbc20, entrypoint_name=0x45f24a "main", stage=MESA_SHADER_GEOMETRY,
spec_info=0x0)
    at ../../../../../src/intel/vulkan/anv_pipeline.c:136
#12 0x00007ffff774c50c in anv_pipeline_compile (pipeline=0x8cc780,
module=0x8cbc20, entrypoint=0x45f24a "main", stage=MESA_SHADER_GEOMETRY,
spec_info=0x0, prog_data=0x7fffffffd0e0, map=0x7fffffffdba0)
    at ../../../../../src/intel/vulkan/anv_pipeline.c:315
#13 0x00007ffff774cd89 in anv_pipeline_compile_gs (pipeline=0x8cc780,
cache=0x7d8c60, info=0x7fffffffe330, module=0x8cbc20, entrypoint=0x45f24a
"main", spec_info=0x0)
    at ../../../../../src/intel/vulkan/anv_pipeline.c:538
#14 0x00007ffff774e88c in anv_pipeline_init (pipeline=0x8cc780,
device=0x7b9150, cache=0x7d8c60, pCreateInfo=0x7fffffffe330, extra=0x0,
alloc=0x7b9158) at ../../../../../src/intel/vulkan/anv_pipeline.c:1164
#15 0x00007ffff78b951f in gen75_graphics_pipeline_create (_device=0x7b9150,
cache=0x7d8c60, pCreateInfo=0x7fffffffe330, extra=0x0, pAllocator=0x0,
pPipeline=0x69aa48)
    at ../../../../../src/intel/vulkan/gen7_pipeline.c:203
#16 0x00007ffff774ec10 in anv_graphics_pipeline_create (_device=0x7b9150,
_cache=0x7d8c60, pCreateInfo=0x7fffffffe330, extra=0x0, pAllocator=0x0,
pPipeline=0x69aa48)
    at ../../../../../src/intel/vulkan/anv_pipeline.c:1261
#17 0x00007ffff774ed2d in anv_CreateGraphicsPipelines (_device=0x7b9150,
pipelineCache=0x7d8c60, count=1, pCreateInfos=0x7fffffffe330, pAllocator=0x0,
pPipelines=0x69aa48)
    at ../../../../../src/intel/vulkan/anv_pipeline.c:1285
#18 0x0000000000437065 in VulkanExample::preparePipelines (this=0x699f20) at
/home/nchery/repos/github/Vulkan/geometryshader/geometryshader.cpp:401
#19 0x0000000000437dd2 in VulkanExample::prepare (this=0x699f20) at
/home/nchery/repos/github/Vulkan/geometryshader/geometryshader.cpp:475
#20 0x00000000004354e2 in main (argc=1, argv=0x7fffffffe8d8) at
/home/nchery/repos/github/Vulkan/geometryshader/geometryshader.cpp:549
(gdb) p *dec
$3 = {next = 0x7c0e50, scope = -1, literals = 0x8cbfe4, group = 0x0,
{decoration = SpvDecorationStream, exec_mode =
SpvExecutionModeOutputTriangleStrip}}</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>