[all-commits] [llvm/llvm-project] 0ceb0c: [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse...

Finn Plummer via All-commits all-commits at lists.llvm.org
Thu Jul 3 14:44:32 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ceb0c377a3e67b70965c32e7f21fe8b33f555d2
      https://github.com/llvm/llvm-project/commit/0ceb0c377a3e67b70965c32e7f21fe8b33f555d2
  Author: Finn Plummer <finn.c.plum at gmail.com>
  Date:   2025-07-03 (Thu, 03 Jul 2025)

  Changed paths:
    M clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
    M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/Frontend/HLSL/CMakeLists.txt
    M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp

  Log Message:
  -----------
  [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (#145986)

This pr removes the redundancy of having the same enums defined in both
the front-end and back-end of handling root signatures. Since there are
many more uses of the enum in the front-end of the code, we will adhere
to the naming conventions used in the front-end, to minimize the diff.

The macros in `DXContainerConstants.def` are also touched-up to be
consistent and to have each macro name follow its respective definition
in d3d12.h and searchable by name
[here](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/).

Additionally, the many `getEnumNames` are moved to `DXContainer` from
`HLSLRootSignatureUtils` as they we will want them to be exposed
publicly anyways.

Changes for each enum follow the pattern of a commit that will make the
enum definition in `DXContainer` adhere to above listed naming
conventions, followed by a commit to actually use that enum in the
front-end.

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



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