Skip to content

[DirectX] DXContainer support for SM 6.8 feature flags #83177

@llvm-beanz

Description

@llvm-beanz

Shader Model 6.8 adds new feature flags that are exposed in the DX Container:

From DXC:

// SM 6.8+
const uint64_t ShaderFeatureInfo_SampleCmpGradientOrBias = 0x80000000;
const uint64_t ShaderFeatureInfo_ExtendedCommandInfo = 0x100000000;

// Experimental SM 6.9+ - Reserved, not yet supported.
// WaveMMA slots in between two SM 6.6 feature bits.
const uint64_t ShaderFeatureInfo_WaveMMA = 0x8000000;

The flags get exposed as constants here: https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/BinaryFormat/DXContainerConstants.def

We'll need YAML tests that support round tripping the flags in and out of DX Containers like the test here:

https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions