<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>