[all-commits] [llvm/llvm-project] 6f0253: [DirectX][ObectYAML] Make `RootParameterOffset` an...

Finn Plummer via All-commits all-commits at lists.llvm.org
Wed Aug 27 11:53:59 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f0253b435b0a229ef15f97a568cdf27418d7af7
      https://github.com/llvm/llvm-project/commit/6f0253b435b0a229ef15f97a568cdf27418d7af7
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2025-08-27 (Wed, 27 Aug 2025)

  Changed paths:
    M llvm/include/llvm/MC/DXContainerRootSignature.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerRootSignature.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable-AllValidFlagCombinations.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable-AllValidFlagCombinationsV1.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor_V1.ll
    M llvm/test/ObjectYAML/DXContainer/RootSignature-Descriptor1.0.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-Descriptor1.1.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.0.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.1.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-Flags.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-Invalid-RootParameterOffset.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-Invalid-StaticSamplersOffset.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-MultipleParameters.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-OptionalOffsets.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplerOffset1.0.yaml
    A llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplerOffset1.1.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplers-Defaults.yaml
    M llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplers.yaml
    M llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test
    M llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test
    M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp

  Log Message:
  -----------
  [DirectX][ObectYAML] Make `RootParameterOffset` and `StaticSamplersOffset` behaviour consistent (#155521)

This pr fixes some inconsistencies in behaviour of how we handle
`StaticSamplersOffset` with respect to DXC and `RootParameterOffset`.
Namely:

1. Make codegen of `RTS0` always compute the `StaticSamplersOffset`
regardless if there are any `StaticSampler`s. This is to be consistent
and produce an identical `DXContainer` as DXC.
2. Make the `StaticSamplersOffset` and `RootParametersOffset` optional
parameters in the yaml description. This means it will be used when it
is specified (which was not necassarily the case before).
3. Enforce that the provided `StaticSamplersOffset` and
`RootParametersOffset` in a yaml description match the computed value.

For more context see:
https://github.com/llvm/llvm-project/issues/155299.

Description of existing test updates updates:
- `CodeGen/DirectX/ContainerData`: Updated to codegen computed values
(previously unspecified)
- `llvm-objcopy/DXContainer`: Updated to `yaml2obj` computed values
(previously unspecified)
- `ObjectYAML/DXContainer`: Updated to `yaml2obj` computed values
(previously incorrect)
- `ObjectYAML/DXContainerYAMLTest`: Updated to `yaml2obj` computed
values (previously incorrect)

See newly added tests for testing of optional parameter functionality
and `StaticSamplersOffset` computation.

Resolves: https://github.com/llvm/llvm-project/issues/155299



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list