Skip to content

Calling member function on raypayload causes cast<X>() argument of incompatible type error with PAQ #6464

Open
@simco50

Description

@simco50

Description
When compiling the provided simple shader repro with SM6.7 or above (when PAQ is enabled by default) or with SM6.6 and compiling with -enable-payload-qualifiers, the compiler fails with an "Internal Compiler error".
It seems to be related to PAQ in combination with calling a member function on a raypayload that writes to a member.

Steps to Reproduce
Example in Compiler Explorer: https://godbolt.org/z/qqKedsWv9
Commandlines that reproduce the issue:

  • -T lib_6_7
  • -T lib_6_8
  • -T lib_6_6 -enable-payload-qualifiers

Actual Behavior
The output of the compiler:

Internal Compiler error: cast<X>() argument of incompatible type!
Compiler returned: 29

Environment

  • DXC version dxcompiler.dll: 1.8 - 1.8.2403.36 (9c2b82878); dxil.dll: 1.8(101.8.2403.21)
  • Host Operating System: Win11 - 22631.3296

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug, regression, crashcrashDXC crashing or hitting an assert

    Type

    No type

    Projects

    Status

    New

    Status

    Triaged

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions