[Bug 94831] The Talos Principle crashes after loading screen (Haswell)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 14 16:01:14 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=94831

--- Comment #4 from Jacek Konieczny <jajcus at jajcus.net> ---
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 at entry=0x71d73a8, var=0x0) at
nir/nir.c:580
#1  0x00007f01e1c821d6 in clone_deref_var (state=state at entry=0x7ffc3908f0c0,
ninstr=ninstr at 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 at entry=0x7ffc3908f0c0, dst=dst at entry=0x71dcf10,
list=0x7175c90) at nir/nir_clone.c:582
#6  0x00007f01e1c82e17 in clone_function_impl
(state=state at entry=0x7ffc3908f0c0, fi=fi at 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 at entry=0x7163268,
inlined=inlined at 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 at 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 at entry=0x713b470,
module=module at entry=0x60ca6b0, entrypoint=<optimized out>,
entrypoint at entry=0x231668c "main", 
    stage=stage at entry=MESA_SHADER_FRAGMENT, spec_info=spec_info at entry=0x0,
prog_data=prog_data at entry=0x7ffc3908f450, map=0x7ffc3908f380) at
anv_pipeline.c:319
#15 0x00007f01e19395bd in anv_pipeline_compile_fs
(pipeline=pipeline at entry=0x713b470, cache=cache at entry=0x4add9c0,
info=info at entry=0x7f01e39379c0, 
    extra=extra at entry=0x0, module=module at entry=0x60ca6b0, entrypoint=0x231668c
"main", spec_info=0x0) at anv_pipeline.c:613
#16 0x00007f01e193a896 in anv_pipeline_init (pipeline=pipeline at entry=0x713b470,
device=device at entry=0x4ad5650, cache=cache at entry=0x4add9c0, 
    pCreateInfo=pCreateInfo at entry=0x7f01e39379c0, extra=extra at entry=0x0,
alloc=0x4ad5658, alloc at entry=0x0) at anv_pipeline.c:1188
#17 0x00007f01e1d55e96 in gen75_graphics_pipeline_create
(_device=_device at 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 at entry=0x4ad5650, _cache=_cache at entry=0x4add9c0, 
    pCreateInfo=pCreateInfo at entry=0x7f01e39379c0, extra=extra at entry=0x0,
pAllocator=pAllocator at entry=0x0, pPipeline=pPipeline at 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

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160414/60a36972/attachment.html>


More information about the intel-3d-bugs mailing list