Bug 94184 - Vulkan: distancefieldfonts triggers a segfault
Summary: Vulkan: distancefieldfonts triggers a segfault
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Kristian Høgsberg
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-16 22:15 UTC by Grazvydas Ignotas
Modified: 2016-12-14 00:25 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Grazvydas Ignotas 2016-02-16 22:15:50 UTC
source: https://github.com/SaschaWillems/Vulkan
binaries: http://vulkan.gpuinfo.org/examples.php (data required from source git)

VK_ICD_FILENAMES=/home/notaz/src/mesa/src/vulkan/anv_icd.json gdb ./distancefieldfonts
...
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff53b58dc in nir_build_alu (src3=0x0, src2=0x0, src1=0x0, src0=0x0, op=nir_op_fddx, build=0x8a0170) at ./nir/nir_builder.h:175
175	            num_components = MAX2(num_components,
(gdb) bt
#0  0x00007ffff53b58dc in nir_build_alu (src3=0x0, src2=0x0, src1=0x0, src0=0x0, op=nir_op_fddx, build=0x8a0170) at ./nir/nir_builder.h:175
#1  nir_fddx (src0=0x0, build=0x8a0170) at ./nir/nir_builder_opcodes.h:65
#2  vtn_handle_alu (b=0x8a0170, opcode=SpvOpFwidth, w=w@entry=0x8db314, count=<optimized out>) at nir/spirv/vtn_alu.c:405
#3  0x00007ffff53b08a8 in vtn_handle_body_instruction (b=0x8a0170, opcode=SpvOpFwidth, w=0x8db314, count=<optimized out>)
    at nir/spirv/spirv_to_nir.c:2585
#4  0x00007ffff53ad230 in vtn_foreach_instruction (b=b@entry=0x8a0170, start=<optimized out>, end=end@entry=0x8db420, 
    handler=handler@entry=0x7ffff53b0570 <vtn_handle_body_instruction>) at nir/spirv/spirv_to_nir.c:218
#5  0x00007ffff53bb001 in vtn_emit_cf_list (b=b@entry=0x8a0170, cf_list=cf_list@entry=0x7dac70, switch_fall_var=switch_fall_var@entry=0x0, 
    has_switch_break=has_switch_break@entry=0x0, handler=handler@entry=0x7ffff53b0570 <vtn_handle_body_instruction>)
    at nir/spirv/vtn_cfg.c:577
#6  0x00007ffff53bbb57 in vtn_function_emit (b=b@entry=0x8a0170, func=func@entry=0x7dac50, 
    instruction_handler=instruction_handler@entry=0x7ffff53b0570 <vtn_handle_body_instruction>) at nir/spirv/vtn_cfg.c:767
#7  0x00007ffff53b1730 in spirv_to_nir (words=<optimized out>, words@entry=0x8dadf0, word_count=<optimized out>, spec=spec@entry=0x0, 
    num_spec=0, stage=stage@entry=MESA_SHADER_FRAGMENT, entry_point_name=entry_point_name@entry=0x460baa "main", 
    options=0x7ffff54b8780 <scalar_nir_options>) at nir/spirv/spirv_to_nir.c:2671
#8  0x00007ffff4ff2a3d in anv_shader_compile_to_nir (device=<optimized out>, spec_info=<optimized out>, stage=MESA_SHADER_FRAGMENT, 
    entrypoint_name=0x460baa "main", module=0x850f20) at anv_pipeline.c:136
#9  anv_pipeline_compile (pipeline=pipeline@entry=0x8db6c0, module=module@entry=0x8dadd0, entrypoint=<optimized out>, 
    stage=stage@entry=MESA_SHADER_FRAGMENT, spec_info=<optimized out>, prog_data=prog_data@entry=0x8dc360) at anv_pipeline.c:318
#10 0x00007ffff4ff3feb in anv_pipeline_compile_fs (spec_info=<optimized out>, entrypoint=<optimized out>, module=<optimized out>, 
    extra=<optimized out>, info=0x7fffffffe0b0, cache=<optimized out>, pipeline=0x8db6c0) at anv_pipeline.c:612
#11 anv_pipeline_init (pipeline=pipeline@entry=0x8db6c0, device=device@entry=0x7c7870, cache=cache@entry=0x855f00, 
    pCreateInfo=pCreateInfo@entry=0x7fffffffe0b0, extra=extra@entry=0x0, alloc=0x7c7878, alloc@entry=0x0) at anv_pipeline.c:1073
#12 0x00007ffff5496eaf in gen9_graphics_pipeline_create (_device=0x7c7870, cache=0x855f00, pCreateInfo=0x7fffffffe0b0, extra=0x0, 
    pAllocator=0x0, pPipeline=0x68a330) at gen8_pipeline.c:273
#13 0x00007ffff4ff483d in anv_graphics_pipeline_create (_device=_device@entry=0x7c7870, _cache=_cache@entry=0x855f00, 
    pCreateInfo=pCreateInfo@entry=0x7fffffffe0b0, extra=extra@entry=0x0, pAllocator=pAllocator@entry=0x0, pPipeline=pPipeline@entry=0x68a330)
    at anv_pipeline.c:1172
---Type <return> to continue, or q <return> to quit---
#14 0x00007ffff4ff48be in anv_CreateGraphicsPipelines (_device=0x7c7870, pipelineCache=0x855f00, count=1, pCreateInfos=<optimized out>, 
    pAllocator=0x0, pPipelines=0x68a330) at anv_pipeline.c:1190
#15 0x000000000043fe35 in VulkanExample::preparePipelines() ()
#16 0x000000000044085f in VulkanExample::prepare() ()
#17 0x000000000043577b in main ()

Mesa 11.2.0-devel (git-0a3324e) (vulkan branch)
Intel(R) HD Graphics 530 (Skylake GT2)
kernel: 4.4.1
Comment 1 Grazvydas Ignotas 2016-02-16 22:38:13 UTC
I'm not sure it's worth opening a bug for each Sascha's demo, I'll just list what problems I've found here, can move to separate bugs later if needed:

Most of the demos trigger repeated "genX_cmd_buffer.c:195 ASSERT: srcStageMask == 0" prints.

bloom, deferred, offscreen, radialblur:
anv_image.c:214 ASSERT: pCreateInfo->extent.depth > 0
bloom: isl.c:472: isl_calc_phys_level0_extent_sa: Assertion `info->depth == 1' failed.
Aborted

computeparticles, displacement, tessellation: no graphics

computeshader:
doesn't fully render (although it might be bug 94180)

pipelines:
nir/spirv/spirv_to_nir.c:2159: vtn_handle_preamble_instruction: Assertion `!"Unsupported capability"' failed.

pushconstants:
nir/spirv/vtn_variables.c:1037: var_decoration_cb: Assertion `!"Unhandled variable decoration"' failed.

Others seem to work at least to some degree, but with bug 94180 it's a bit hard to tell.
Comment 2 Jason Ekstrand 2016-02-21 21:44:28 UTC
(In reply to Grazvydas Ignotas from comment #1)
> I'm not sure it's worth opening a bug for each Sascha's demo, I'll just list
> what problems I've found here, can move to separate bugs later if needed:
> 
> Most of the demos trigger repeated "genX_cmd_buffer.c:195 ASSERT:
> srcStageMask == 0" prints.
> 
> bloom, deferred, offscreen, radialblur:
> anv_image.c:214 ASSERT: pCreateInfo->extent.depth > 0
> bloom: isl.c:472: isl_calc_phys_level0_extent_sa: Assertion `info->depth ==
> 1' failed.
> Aborted

This should be fixed by 9963af8
Comment 3 Grazvydas Ignotas 2016-03-05 20:02:18 UTC
Remaining problems as of git-81f30e2:

many demos print "anv_image.c:231 ASSERT: pCreateInfo->extent.depth > 0" but still seem to work.

pushconstants:
anv_device.c:414: FINISHME: Get correct values for VkPhysicalDeviceLimits
pushconstants: nir/spirv/vtn_variables.c:1037: var_decoration_cb: Assertion `!"Unhandled variable decoration"' failed.
Aborted

computeparticles, computeshader, displacement, tessellation: won't render or error out (use of unimplemented stuff?)

Most of them now work fine, good work!
Comment 4 Grazvydas Ignotas 2016-12-14 00:25:52 UTC
I've retested the demos and all seem to work fine, except tessellation, but that is to be expected I guess.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.