Bug 94831 - The Talos Principle crashes after loading screen (Haswell)
Summary: The Talos Principle crashes after loading screen (Haswell)
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: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-05 16:22 UTC by Jacek Konieczny
Modified: 2017-02-18 06:29 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:


Attachments
anv: do not flush push constants on inactive stages (948 bytes, patch)
2016-04-14 15:57 UTC, Jacek Konieczny
Details | Splinter Review

Description Jacek Konieczny 2016-04-05 16:22:02 UTC
The Talos Princinple from the 'publicbeta' branch crashes just after the loading screen when started with Vulkan support.

Steam 'launch options' used:

VK_ICD_FILENAMES=/home/users/jajcus/git/vulkanplay/intel_icd.json %command% +gfx_strAPI "VLK"

Driver built from the 'vulkan', rev. e5c833db5a7ad35a0dc4b0f170fafd090c2b8805

$ VK_ICD_FILENAMES=$HOME/git/vulkanplay/intel_icd.json vulkaninfo 2>/dev/null | grep deviceName
	deviceName     = Intel(R) Haswell Mobile

Information from the core dump:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fb250d77352 in anv_cmd_buffer_push_constants (
    cmd_buffer=cmd_buffer@entry=0x42a2ed0, 
    stage=stage@entry=MESA_SHADER_FRAGMENT) at anv_cmd_buffer.c:1029
1029	   if (data == NULL || prog_data->nr_params == 0)
[Current thread is 1 (Thread 0x7fb25879f900 (LWP 21203))]
(gdb) print data
$1 = (struct anv_push_constants *) 0x69c9970
(gdb) print prog_data
$2 = (const struct brw_stage_prog_data *) 0x0
(gdb) print stage
$3 = MESA_SHADER_FRAGMENT
(gdb) print cmd_buffer->state.pipeline->prog_data
$4 =   {0x7fb2503a8068,
  0x0,
  0x0,
  0x0,
  0x0,
  0x0}
(gdb) bt
#0  0x00007fb250d77352 in anv_cmd_buffer_push_constants (
    cmd_buffer=cmd_buffer@entry=0x42a2ed0, 
    stage=stage@entry=MESA_SHADER_FRAGMENT) at anv_cmd_buffer.c:1029
#1  0x00007fb25118ba1e in cmd_buffer_flush_push_constants (
    cmd_buffer=0x42a2ed0) at genX_cmd_buffer.c:290
#2  gen75_cmd_buffer_flush_state (cmd_buffer=cmd_buffer@entry=0x42a2ed0)
    at genX_cmd_buffer.c:443
#3  0x00007fb25118cbb8 in gen75_CmdDrawIndexed (commandBuffer=0x42a2ed0, 
    indexCount=36, instanceCount=1, firstIndex=0, vertexOffset=0, 
    firstInstance=0) at genX_cmd_buffer.c:538
#4  0x0000000001ae9917 in ?? ()
#5  0x000000000174bcf9 in ?? ()
#6  0x00000000014d9b41 in ?? ()
#7  0x00000000019b8863 in ?? ()
#8  0x00000000014da3dd in ?? ()
#9  0x00000000014d492d in ?? ()
#10 0x00000000014d5915 in ?? ()
#11 0x0000000000c620a2 in ?? ()
#12 0x0000000000cf61fd in ?? ()
#13 0x00000000011a0f7b in ?? ()
#14 0x00000000011a17cb in ?? ()
#15 0x0000000001095d24 in ?? ()
#16 0x000000000091439d in ?? ()
#17 0x00000000008f691a in ?? ()
#18 0x00000000008f87af in ?? ()
#19 0x00000000014712fa in ?? ()
#20 0x000000000191bdd2 in ?? ()
#21 0x000000000191c0b4 in ?? ()
#22 0x0000003722a20690 in __libc_start_main (main=0x43fdc0, argc=3, 
    argv=0x7fff9d818498, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fff9d818488) at libc-start.c:289
#23 0x00000000008e41af in ?? ()
Comment 1 Grazvydas Ignotas 2016-04-05 22:46:09 UTC
Same problem here on Skylake.
Comment 2 Kenneth Graunke 2016-04-06 05:15:54 UTC
Kristian had looked into this at one point...CC'ing him.
Comment 3 Jacek Konieczny 2016-04-14 15:57:50 UTC
Created attachment 122939 [details] [review]
anv: do not flush push constants on inactive stages
Comment 4 Jacek Konieczny 2016-04-14 16:01:14 UTC
At one point The Talos Principle creates a pipeline with vertex shader only:

t{0} vkCreateGraphicsPipelines(device = 0x4ad5650, pipelineCache = 0x4add9c0, createInfoCount = 1, pCreateInfos = 0x7f01e39379c0, pAllocator = 0, pPipelines = 0x7ffc39091e10) = VK_SUCCESS
   pCreateInfos[0] (0x7f01e39379c0)
    sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
    pNext = 0
    flags = 0
    stageCount = 1
    pStages = 0x7f01e3937790
    pVertexInputState = 0x7f01e39377f0
    pInputAssemblyState = 0x7f01e3937820
    pTessellationState = 0
    pViewportState = 0x7f01e3937840
    pRasterizationState = 0x7f01e3937870
    pMultisampleState = 0x7f01e39378b0
    pDepthStencilState = 0x7f01e3937938
    pColorBlendState = 0x7f01e3937900
    pDynamicState = 0x7f01e39379a0
    layout = 0x4b29810
    renderPass = 0x4cb3820
    subpass = 0
    basePipelineHandle = 0
    basePipelineIndex = 0
     pDynamicState (0x7f01e3937a20)
      sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      dynamicStateCount = 3
      pDynamicStates = 0x7f01e3937a50 (See individual array values below)
       pDynamicStates[0] = VK_DYNAMIC_STATE_VIEWPORT
       pDynamicStates[1] = VK_DYNAMIC_STATE_SCISSOR
       pDynamicStates[2] = VK_DYNAMIC_STATE_DEPTH_BIAS
     pColorBlendState (0x7f01e3937a18)
      sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      logicOpEnable = FALSE
      logicOp = VK_LOGIC_OP_NO_OP
      attachmentCount = 1
      pAttachments = 0x7f01e39378e0
      blendConstants = 0x7f01e3937928
       blendConstants[0] = 1
       blendConstants[1] = 1
       blendConstants[2] = 1
       blendConstants[3] = 1
       pAttachments[0] (0x7f01e39378e0)
        blendEnable = FALSE
        srcColorBlendFactor = VK_BLEND_FACTOR_ONE
        dstColorBlendFactor = VK_BLEND_FACTOR_ZERO
        colorBlendOp = VK_BLEND_OP_ADD
        srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE
        dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO
        alphaBlendOp = VK_BLEND_OP_ADD
        colorWriteMask = 0
     pDepthStencilState (0x7f01e3937a10)
      sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      depthTestEnable = TRUE
      depthWriteEnable = FALSE
      depthCompareOp = VK_COMPARE_OP_GREATER_OR_EQUAL
      depthBoundsTestEnable = FALSE
      stencilTestEnable = FALSE
      front = 0x7f01e3937960
      back = 0x7f01e393797c
      minDepthBounds = 0
      maxDepthBounds = 1
       back (0x7f01e393797c)
        failOp = VK_STENCIL_OP_KEEP
        passOp = VK_STENCIL_OP_KEEP
        depthFailOp = VK_STENCIL_OP_KEEP
        compareOp = VK_COMPARE_OP_NEVER
        compareMask = 0
        writeMask = 0
        reference = 0
       front (0x7f01e3937960)
        failOp = VK_STENCIL_OP_KEEP
        passOp = VK_STENCIL_OP_KEEP
        depthFailOp = VK_STENCIL_OP_KEEP
        compareOp = VK_COMPARE_OP_NEVER
        compareMask = 0
        writeMask = 0
        reference = 0
     pMultisampleState (0x7f01e3937a08)
      sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      rasterizationSamples = VK_SAMPLE_COUNT_1_BIT
      sampleShadingEnable = FALSE
      minSampleShading = 0
      pSampleMask = 0
      alphaToCoverageEnable = FALSE
      alphaToOneEnable = FALSE
     pRasterizationState (0x7f01e3937a00)
      sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      depthClampEnable = FALSE
      rasterizerDiscardEnable = FALSE
      polygonMode = VK_POLYGON_MODE_FILL
      cullMode = 2
      frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE
      depthBiasEnable = TRUE
      depthBiasConstantFactor = 0
      depthBiasClamp = 1
      depthBiasSlopeFactor = 0
      lineWidth = 1
     pViewportState (0x7f01e39379f8)
      sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      viewportCount = 1
      pViewports = 0
      scissorCount = 1
      pScissors = 0
     pInputAssemblyState (0x7f01e39379e8)
      sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
      primitiveRestartEnable = FALSE
     pVertexInputState (0x7f01e39379e0)
      sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
      pNext = 0
      flags = 0
      vertexBindingDescriptionCount = 1
      pVertexBindingDescriptions = 0x7f01e3937a74
      vertexAttributeDescriptionCount = 1
      pVertexAttributeDescriptions = 0x7f01e3937b34
       pVertexAttributeDescriptions[0] (0x7f01e3937b34)
        location = 0
        binding = 0
        format = VK_FORMAT_R32G32B32_SFLOAT
        offset = 0
       pVertexBindingDescriptions[0] (0x7f01e3937a74)
        binding = 0
        stride = 12
        inputRate = VK_VERTEX_INPUT_RATE_VERTEX
     pStages[0] (0x7f01e3937790)
      sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
      pNext = 0
      flags = 0
      stage = VK_SHADER_STAGE_VERTEX_BIT
      module = 0x4bec060
      pName = main
      pSpecializationInfo = 0

Then the driver crashes in 
cmd_buffer_flush_push_constants() trying to do something with a fragment shader stage.

I was able to fix this with the attached patch. Unfortunately the game still crashes, just a bit later, on a fragment shader compilation (in a pipeline which has one):

#0  nir_deref_var_create (mem_ctx=mem_ctx@entry=0x71d73a8, var=0x0) at nir/nir.c:580
#1  0x00007f01e1c821d6 in clone_deref_var (state=state@entry=0x7ffc3908f0c0, ninstr=ninstr@entry=0x71d73a8, dvar=<optimized out>, dvar=<optimized out>)
    at nir/nir_clone.c:253
#2  0x00007f01e1c82817 in clone_tex (tex=0x713fb18, state=0x7ffc3908f0c0) at nir/nir_clone.c:406
#3  clone_instr (instr=0x713fb18, state=0x7ffc3908f0c0) at nir/nir_clone.c:496
#4  clone_block (blk=0x71dce28, cf_list=0x71dcf10, state=0x7ffc3908f0c0) at nir/nir_clone.c:535
#5  clone_cf_list (state=state@entry=0x7ffc3908f0c0, dst=dst@entry=0x71dcf10, list=0x7175c90) at nir/nir_clone.c:582
#6  0x00007f01e1c82e17 in clone_function_impl (state=state@entry=0x7ffc3908f0c0, fi=fi@entry=0x7175c68) at nir/nir_clone.c:615
#7  0x00007f01e1c82f6d in nir_function_impl_clone (fi=0x7175c68) at nir/nir_clone.c:648
#8  0x00007f01e1c8fbc2 in inline_functions_block (block=<optimized out>, void_state=0x7ffc3908f1c0) at nir/nir_inline_functions.c:161
#9  0x00007f01e1c819b3 in nir_foreach_block (impl=0x7163268, cb=0x7f01e1c8fb40 <inline_functions_block>, state=0x7ffc3908f1c0) at nir/nir.c:1562
#10 0x00007f01e1c8fafa in inline_function_impl (impl=impl@entry=0x7163268, inlined=inlined@entry=0x714a248) at nir/nir_inline_functions.c:240
#11 0x00007f01e1c9006b in inline_function_impl (inlined=0x714a248, impl=0x7163268) at nir/nir_inline_functions.c:270
#12 nir_inline_functions (shader=shader@entry=0x71461f8) at nir/nir_inline_functions.c:264
#13 0x00007f01e19392c0 in anv_shader_compile_to_nir (device=<optimized out>, spec_info=0x7ffc3908f380, stage=MESA_SHADER_FRAGMENT, 
    entrypoint_name=0x71461f8 "\210\b\026\a", module=0x7ffc3908f450) at anv_pipeline.c:148
#14 anv_pipeline_compile (pipeline=pipeline@entry=0x713b470, module=module@entry=0x60ca6b0, entrypoint=<optimized out>, entrypoint@entry=0x231668c "main", 
    stage=stage@entry=MESA_SHADER_FRAGMENT, spec_info=spec_info@entry=0x0, prog_data=prog_data@entry=0x7ffc3908f450, map=0x7ffc3908f380) at anv_pipeline.c:319
#15 0x00007f01e19395bd in anv_pipeline_compile_fs (pipeline=pipeline@entry=0x713b470, cache=cache@entry=0x4add9c0, info=info@entry=0x7f01e39379c0, 
    extra=extra@entry=0x0, module=module@entry=0x60ca6b0, entrypoint=0x231668c "main", spec_info=0x0) at anv_pipeline.c:613
#16 0x00007f01e193a896 in anv_pipeline_init (pipeline=pipeline@entry=0x713b470, device=device@entry=0x4ad5650, cache=cache@entry=0x4add9c0, 
    pCreateInfo=pCreateInfo@entry=0x7f01e39379c0, extra=extra@entry=0x0, alloc=0x4ad5658, alloc@entry=0x0) at anv_pipeline.c:1188
#17 0x00007f01e1d55e96 in gen75_graphics_pipeline_create (_device=_device@entry=0x4ad5650, cache=0x4add9c0, pCreateInfo=0x7f01e39379c0, extra=0x0, 
    pAllocator=0x0, pPipeline=0x7ffc39091e10) at gen7_pipeline.c:202
#18 0x00007f01e193af13 in anv_graphics_pipeline_create (_device=_device@entry=0x4ad5650, _cache=_cache@entry=0x4add9c0, 
    pCreateInfo=pCreateInfo@entry=0x7f01e39379c0, extra=extra@entry=0x0, pAllocator=pAllocator@entry=0x0, pPipeline=pPipeline@entry=0x7ffc39091e10)
    at anv_pipeline.c:1277
#19 0x00007f01e193af9e in anv_CreateGraphicsPipelines (_device=0x4ad5650, pipelineCache=0x4add9c0, count=1, pCreateInfos=<optimized out>, pAllocator=0x0, 
    pPipelines=0x7ffc39091e10) at anv_pipeline.c:1301
Comment 5 Grazvydas Ignotas 2016-05-16 22:25:04 UTC
(In reply to Jacek Konieczny from comment #4)
> I was able to fix this with the attached patch.

Could you send this to mesa-dev? Even if it's not fixing the game, it's still some progress.
Comment 6 Jacek Konieczny 2016-05-17 06:22:41 UTC
> Could you send this to mesa-dev? Even if it's not fixing the game,
> it's still some progress.

I would, if I understood what the code does and if the change really makes any sense. Though, as somebody seems interested, I will.
Comment 7 Jason Ekstrand 2016-05-24 19:07:33 UTC
*** Bug 95410 has been marked as a duplicate of this bug. ***
Comment 8 Jacek Konieczny 2016-05-28 16:16:39 UTC
Current git code (357495b94dad4101a5491ed30782574162de58db) doesn't crash on start for me any more. It doesn't look good, though.
Comment 9 Jacek Konieczny 2016-05-28 16:32:21 UTC
…correction: The vanilla git code still crashes, it doesn't crash when my patch (the attached one) is applied (I forgot 'make clean' before switching to current master).  No more 'deep in NIR compiler' crash.

BTW I have already sent the patch to mesa-dev.
Comment 10 Jacek Konieczny 2016-05-28 17:37:56 UTC
And now it crashes again in anv_cmd_buffer_push_constants(), no matter if the patch is applied or not. I have no idea what has changed (I tried kernel upgrade, but I have already reverted it).

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007faa5211e46d in anv_cmd_buffer_push_constants (
    cmd_buffer=cmd_buffer@entry=0x503bab0, 
    stage=stage@entry=MESA_SHADER_FRAGMENT) at anv_cmd_buffer.c:1050
1050	      u32_map[i] = *(uint32_t *)((uint8_t *)data + offset);
[Current thread is 1 (Thread 0x7faa5d7b6900 (LWP 2567))]
(gdb) bt
#0  0x00007faa5211e46d in anv_cmd_buffer_push_constants (
    cmd_buffer=cmd_buffer@entry=0x503bab0, 
    stage=stage@entry=MESA_SHADER_FRAGMENT) at anv_cmd_buffer.c:1050
#1  0x00007faa522adfd9 in cmd_buffer_flush_push_constants (
    cmd_buffer=0x503bab0) at genX_cmd_buffer.c:382
#2  gen75_cmd_buffer_flush_state (cmd_buffer=cmd_buffer@entry=0x503bab0)
    at genX_cmd_buffer.c:521
#3  0x00007faa522af1e9 in gen75_CmdDrawIndexed (commandBuffer=0x503bab0, 
    indexCount=6, instanceCount=1, firstIndex=0, vertexOffset=0, 
    firstInstance=0) at genX_cmd_buffer.c:619
#4  0x0000000001aea68c in ?? ()
#5  0x00000000016dd58c in ?? ()
#6  0x00000000016de497 in ?? ()
#7  0x00000000016df6d7 in ?? ()
#8  0x000000000177e350 in ?? ()
#9  0x000000000091fe2c in ?? ()
#10 0x0000000000920ef5 in ?? ()
#11 0x00000000008f668b in ?? ()
#12 0x00000000008f87ff in ?? ()
#13 0x000000000147105a in ?? ()
#14 0x000000000191c122 in ?? ()
#15 0x000000000191c404 in ?? ()
#16 0x0000003722a20690 in __libc_start_main (main=0x43fdc0, argc=3, 
    argv=0x7fff14f201d8, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fff14f201c8) at libc-start.c:289
#17 0x00000000008e420f in ?? ()

I feel stupid now…
Comment 11 Grazvydas Ignotas 2016-05-30 20:37:57 UTC
It seems the original anv_cmd_buffer_push_constants() crash went away with "5432487 anv: Move push constant allocation to the command buffer", and the nir crash went away at some point too. The game now starts but doesn't render anything except some corrupt text, and causes a GPU hang on my SKL (but it happily recovers, unlike some other vendors out there). Perhaps the GPU hang recovery loses some state and is what causes the misrender.

The curious thing is that the game starts only once for a given boot, second and further runs result in a new crash in anv_cmd_buffer_push_constants() from  Comment 10. A reboot allows to run the game again once and gives a GPU hang, so there is some state somewhere.
Comment 12 Jacek Konieczny 2016-06-21 20:24:05 UTC
I have just upgraded kernel to 4.7-rc4, hoping that this will fix graphics in The Talos Principle… and instead of textures fixed fixed, the anv_cmd_buffer_push_constants crash is back:


Program terminated with signal SIGSEGV, Segmentation fault.
#0  anv_cmd_buffer_push_constants (cmd_buffer=cmd_buffer@entry=0x51bb5c0, 
    stage=stage@entry=MESA_SHADER_VERTEX) at anv_cmd_buffer.c:1053
1053	      u32_map[i] = *(uint32_t *)((uint8_t *)data + offset);
[Current thread is 1 (Thread 0x7f386df06900 (LWP 2812))]
(gdb) print prog_data
$1 = (const struct brw_stage_prog_data *) 0x7f385c827668
(gdb) print prog_data->nr_params
$2 = 4
(gdb) print prog_data->param
$3 = (const union gl_constant_value **) 0x4329cc0
(gdb) print i
$4 = 1
(gdb) print prog_data->param[0]
Cannot access memory at address 0x4329cc0
(gdb) print prog_data->param[1]
Cannot access memory at address 0x4329cc8
(gdb) bt
#0  anv_cmd_buffer_push_constants (cmd_buffer=cmd_buffer@entry=0x51bb5c0, 
    stage=stage@entry=MESA_SHADER_VERTEX) at anv_cmd_buffer.c:1053
#1  0x00007f385d3e23d1 in cmd_buffer_flush_push_constants (
    cmd_buffer=0x51bb5c0) at genX_cmd_buffer.c:382
#2  gen75_cmd_buffer_flush_state (cmd_buffer=cmd_buffer@entry=0x51bb5c0)
    at genX_cmd_buffer.c:521
#3  0x00007f385d3e362c in gen75_CmdDrawIndexed (commandBuffer=0x51bb5c0, 
    indexCount=6, instanceCount=1, firstIndex=0, vertexOffset=0, 
    firstInstance=0) at genX_cmd_buffer.c:625
#4  0x0000000001ae846c in ?? ()
#5  0x00000000016dd0cc in ?? ()
#6  0x00000000016ddfd7 in ?? ()
#7  0x00000000016df217 in ?? ()
#8  0x000000000177c4c0 in ?? ()
#9  0x000000000091ff9c in ?? ()
#10 0x0000000000921065 in ?? ()
#11 0x00000000008f67db in ?? ()
#12 0x00000000008f896f in ?? ()
#13 0x000000000147107a in ?? ()
#14 0x000000000191a0f2 in ?? ()
#15 0x000000000191a3d4 in ?? ()
#16 0x00007f386ce4a7a0 in __libc_start_main () from /lib64/libc.so.6
#17 0x00000000008e436f in ?? ()

kernel 4.7-rc4
Mesa 12.0.0-rc4
Comment 13 Grazvydas Ignotas 2016-06-21 22:52:46 UTC
For me it sort of works if I start the game in OpenGL mode, load a level and then switch to Vulkan. I'm on 12.1.0-devel though. The results are similar to what was reported on phoronix:
http://phoronix.com/scan.php?page=news_item&px=Intel-Vulkan-Driver-June-2016
Comment 14 Eero Tamminen 2017-02-17 15:13:42 UTC
(In reply to Grazvydas Ignotas from comment #13)
> For me it sort of works if I start the game in OpenGL mode, load a level and
> then switch to Vulkan. I'm on 12.1.0-devel though. The results are similar
> to what was reported on phoronix:
> http://phoronix.com/scan.php?page=news_item&px=Intel-Vulkan-Driver-June-2016

Talos works now fine for me with Vulkan on SKL, without any crashes, after latest Talos update in Steam few days ago (before that, game sometimes crashed when switching between different Gfx settings).

Could you try again on Haswell?
Comment 15 Jacek Konieczny 2017-02-17 20:21:14 UTC
> Talos works now fine for me with Vulkan on SKL, without any crashes,

It does, indeed.

I have also tested it on my old, Haswell-based laptop, and the game doesn't crash there either. I started it twice (to make sure), on Mesa 17.0.0. Not played much, but it doesn't crash after loading screen and the graphics and performance is mostly ok.

I guess this bug may be closed now.
Comment 16 Jason Ekstrand 2017-02-18 06:29:21 UTC
I'm fairly sure this has been fixed for a while now.  Someone can re-open or file a new one if they still have this crash.


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.