Skip to content

[SPIR-V] DXC SPIR-V test fail with the latest spir-v tools #8740

Description

Description
Since KhronosGroup/SPIRV-Tools#6792, some of the tests related to descriptor heaps have started to fail.

https://btx.cloud.google.com/invocations/c69d88f2-98e9-45f4-ba65-5d93e2504e77/targets/graphics_shader_compiler%2Fspirv_tools%2Fdxc-smoketest%2Fpresubmit/log

Steps to Reproduce

Check out the latest DXC source.
Update the submodule using the top-of-tree SPIR-V tools.
Run the codegenspirv tests.

There are two failures. Here is the output of one of them:

FAIL: Clang :: CodeGenSPIRV/resource-heap-ext-texture.hlsl (829 of 1566)
******************** TEST 'Clang :: CodeGenSPIRV/resource-heap-ext-texture.hlsl' FAILED ********************
Script:
--
/tmp/dxc/build/./bin/dxc -T cs_6_6 -E main -fspv-use-descriptor-heap -spirv /tmp/dxc/tools/clang/test/CodeGenSPIRV/resource-heap-ext-texture.hlsl | /tmp/dxc/build/./bin/FileCheck /tmp/dxc/tools/clang/test/CodeGenSPIRV/resource-heap-ext-texture.hlsl
--
Exit Code: 2

Command Output (stderr):
--
...
fatal error: generated SPIR-V is invalid: Array must be explicitly laid out with ArrayStride or ArrayStrideIdEXT decorations. Instantiated via '36[%36]' in the UniformConstant storage class using standard layout rules.
This is may be allowed if you enable the scalarBlockLayout feature (or use the --scalar-block-layout command line flag)
  %_runtimearr_type_2d_image = OpTypeRuntimeArray %type_2d_image

note: please file a bug report on https://github.com/Microsoft/DirectXShaderCompiler/issues with source code if possible

FileCheck error: '-' is empty.

Actual Behavior

There is a validation error. See above.

Environment

  • DXC version: latest main
  • Host Operating System: all

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug, regression, crashneeds-triageAwaiting triagespirvWork related to SPIR-V

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions