Closed expenses closed 1 year ago
I'll try and figure out how to do a debug build of mesa and get back to this.
(creating a debug build was just a case of adding options=(debug !strip)
to the Arch Linux PKGBUILD
).
Thread 1 "niagara" received signal SIGSEGV, Segmentation fault.
0x00007fffecc7a974 in radv_shader_spirv_to_nir (device=device@entry=0x555555a88d10, stage=stage@entry=0x7ffffffee7a0, key=key@entry=0x7fffffffc1b0) at ../mesa/src/amd/vulkan/radv_shader.c:792
792 ../mesa/src/amd/vulkan/radv_shader.c: No such file or directory.
(gdb) bt
#0 0x00007fffecc7a974 in radv_shader_spirv_to_nir (device=device@entry=0x555555a88d10,
stage=stage@entry=0x7ffffffee7a0, key=key@entry=0x7fffffffc1b0)
at ../mesa/src/amd/vulkan/radv_shader.c:792
#1 0x00007fffecc5a9d2 in radv_pipeline_get_nir (retain_shaders=false, pipeline_key=0x7fffffffc1b0,
stages=0x7ffffffe47b0, pipeline=0x555556292e00) at ../mesa/src/amd/vulkan/radv_pipeline.c:3644
#2 radv_create_shaders (pipeline=0x555556292e00, pipeline_layout=0x7fffffffbf40, device=0x555555a88d10,
cache=0x0, pipeline_key=0x7fffffffc1b0, pStages=0x555555fa9030, stageCount=3, flags=0,
custom_hash=0x0, creation_feedback=0x0, stack_sizes=0x0, num_stack_sizes=0x0,
last_vgt_api_stage=0x5555562937e4) at ../mesa/src/amd/vulkan/radv_pipeline.c:3948
#3 0x00007fffecc5df7b in radv_graphics_pipeline_init (pipeline=pipeline@entry=0x555556292e00,
device=device@entry=0x555555a88d10, cache=cache@entry=0x0,
pCreateInfo=pCreateInfo@entry=0x7fffffffc780, extra=extra@entry=0x0)
at ../mesa/src/amd/vulkan/radv_pipeline.c:6046
#4 0x00007fffecc61521 in radv_graphics_pipeline_create (_device=_device@entry=0x555555a88d10,
_cache=_cache@entry=0x0, pCreateInfo=pCreateInfo@entry=0x7fffffffc780, extra=extra@entry=0x0,
pAllocator=pAllocator@entry=0x0, pPipeline=pPipeline@entry=0x7fffffffc558)
at ../mesa/src/amd/vulkan/radv_pipeline.c:6170
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x00007fffecc616e2 in radv_CreateGraphicsPipelines (_device=0x555555a88d10, pipelineCache=<optimized out>, count=<optimized out>, pCreateInfos=<optimized out>, pAllocator=0x0, pPipelines=<optimized out>)
at ../mesa/src/amd/vulkan/radv_pipeline.c:6328
#6 0x00005555555772f4 in createGraphicsPipeline(VkDevice_T*, VkPipelineCache_T*, VkPipelineRenderingCreateInfo const&, std::initializer_list<Shader const*>, VkPipelineLayout_T*, std::initializer_list<int>) ()
#7 0x0000555555565259 in main ()
hmm lol
I think I might have seen this with slightly earlier Mesa versions; you need the absolute latest commit from Mesa repository (or, latest as of a week or two ago at least). Just checked with Mesa c93b72d0455f1487fa3fb65a6691ff44a2fbcd35 and it works fine with RADV_PERFTEST env var, no extra variables should be necessary. This is on Ubuntu. Note that you'd also need the absolute latest glslang built & installed for shaders to compile to SPIRV properly.
Hi Arseny, thanks for the quick demo using
VK_EXT_mesh_shader
! Unfortunately for whatever I'm getting a SEGFAULT with I run it withRADV_PERFTEST=ext_ms
. Have you encountered this? Is there another environment variable I should be using? Here's the full log from GDB (running viash
is the only way so far that I've figured out how to forceRADV_PERFTEST=ext_ms
):Here's the device info from
vulkaninfo --summary
: