[clang] [llvm] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/154454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/6] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/5] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][RootSignature] Introduce `HLSLFrontendAction` to implement `rootsig-define` (PR #154639)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154639 >From d91de5f59ab2682b1067c7881a4af995422f9dfc Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 20 Aug 2025 12:06:03 -0700 Subject: [PATCH 1/9] nfc: move invocation of parsing to common location --- .../

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
@@ -4601,6 +4601,16 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, Actions.push_back(C.MakeAction( LastAction, types::TY_DX_CONTAINER)); } +if (TC.requiresObjcopy(Args)) { + Action *LastAction = Actions.back(); + // llv

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-22 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/7] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-22 Thread Finn Plummer via cfe-commits
@@ -42,7 +42,21 @@ class LLVM_LIBRARY_VISIBILITY MetalConverter : public Tool { const llvm::opt::ArgList &TCArgs, const char *LinkingOutput) const override; }; + } // namespace hlsl + +class LLVM_LIBRARY_VISIBILITY LLVMObjcopy : public T

[clang] [llvm] [Sema][Parse][HLSL] Implement front-end rootsignature validations (PR #156754)

2025-09-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/156754 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Sema][Parse][HLSL] Implement front-end rootsignature validations (PR #156754)

2025-09-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/156754 This pr implements the following validations: 1. Check that descriptor tables don't mix Sample and non-Sampler resources 2. Ensure that descriptor ranges don't append onto an unbounded range 3. Ensure that descr

[clang] [llvm] [Sema][Parse][HLSL] Implement front-end rootsignature validations (PR #156754)

2025-09-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/156754 >From 30e3907799ec8d0e11bb4a0b2cf5927931f3b682 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Tue, 2 Sep 2025 14:05:25 -0700 Subject: [PATCH 1/7] [SemaHLSL] add validation of mixed resources --- clang/inclu

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-09 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/157690 >From 0831e99798973a6d8c47ef6b257046640298142c Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Tue, 9 Sep 2025 15:09:28 + Subject: [PATCH 1/4] [HLSL] Add the `Frs` driver option This pr adds the `Frs` as

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-09 Thread Finn Plummer via cfe-commits
@@ -0,0 +1,10 @@ +// RUN: %clang_dxc -T cs_6_0 /Fo %t.dxo /Frs %t.rs.dxo -### %s 2>&1 | FileCheck %s + +// Test to demonstrate that extracting the root signature to the specified inbelic wrote: ```suggestion // Test to demonstrate extracting the root signature t

[clang] [llvm] [HLSL][DirectX] Add support for `rootsig` as a target environment (PR #156373)

2025-09-08 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/156373 >From 1ff0888cb712c69f5fe6f587b60649d03b0472cd Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 29 Aug 2025 09:42:59 -0700 Subject: [PATCH 01/17] add support for rootsig as an hlsl environment --- clang/

[clang] [llvm] [HLSL][DirectX] Add support for `rootsig` as a target environment (PR #156373)

2025-09-08 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/156373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL][DirectX] Add support for `rootsig` as a target environment (PR #156373)

2025-09-09 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/156373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-09 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/157690 >From 0831e99798973a6d8c47ef6b257046640298142c Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Tue, 9 Sep 2025 15:09:28 + Subject: [PATCH 1/3] [HLSL] Add the `Frs` driver option This pr adds the `Frs` as

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-12 Thread Finn Plummer via cfe-commits
@@ -524,6 +530,7 @@ bool HLSLToolChain::requiresBinaryTranslation(DerivedArgList &Args) const { bool HLSLToolChain::requiresObjcopy(DerivedArgList &Args) const { return Args.hasArg(options::OPT_dxc_Fo) && (Args.hasArg(options::OPT_dxc_strip_rootsignature) || +

[clang] [llvm] [DirectX] Removing dxbc StaticSampler from mcbxdc (PR #154631)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/154631 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DirectX] Removing dxbc StaticSampler from mcbxdc (PR #154631)

2025-09-12 Thread Finn Plummer via cfe-commits
@@ -228,6 +228,16 @@ enum class SamplerFilter : uint32_t { #include "DXContainerConstants.def" }; +#define FILTER(Val, Enum) \ + case Val: \ +return t

[clang] [llvm] [DirectX] Removing dxbc StaticSampler from mcbxdc (PR #154631)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic approved this pull request. LGTM, from the nit, we might want a clean-up pr that will move all these definitions to the `.cpp` file https://github.com/llvm/llvm-project/pull/154631 ___ cfe-commits mailing list cfe-commits@li

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/157690 This pr adds the `Frs` as a DXC driver option. It is done by invoking `llvm-objcopy` with the `extract-section=RTS0` argument specified to output the separate `DXContainer`. This resolves: https://github.com/ll

[clang] [llvm] [Sema][Parse][HLSL] Implement front-end rootsignature validations (PR #156754)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/156754 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/157690 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-13 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/157690 >From 0831e99798973a6d8c47ef6b257046640298142c Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Tue, 9 Sep 2025 15:09:28 + Subject: [PATCH 1/3] [HLSL] Add the `Frs` driver option This pr adds the `Frs` as

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/157690 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL] Add the `Frs` `DXC` driver option (PR #157690)

2025-09-12 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/157690 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 01/11] add BinaryModifyJobClass --- clang/include/clang/Driver/Ac

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/9] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/9] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 01/10] add BinaryModifyJobClass --- clang/include/clang/Driver/Ac

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-26 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/154454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL] Add support for the HLSL matrix type (PR #159446)

2025-09-18 Thread Finn Plummer via cfe-commits
https://github.com/inbelic approved this pull request. https://github.com/llvm/llvm-project/pull/159446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [SemaHLSL] Correct descriptor range overflow validation (PR #159475)

2025-09-18 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/159475 >From 86775ab587591375a00f47e825f58b3bfc02dd80 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 17 Sep 2025 16:03:57 -0700 Subject: [PATCH 1/8] correct validation --- clang/lib/Sema/SemaHLSL.cpp

[clang] [llvm] [SemaHLSL] Correct descriptor range overflow validation (PR #159475)

2025-09-18 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/159475 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL] Mark `GroupMemoryBarrierWithGroupSync` as `convergent` (PR #160175)

2025-09-22 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/160175 `GroupMemoryBarrierWithGroupSync` is required to be marked as convergent so that it can't generate duplicate calls or be moved to identical control flow. Without it, we generate undefined behaviour during optim

[clang] [llvm] [HLSL] Mark `GroupMemoryBarrierWithGroupSync` as `convergent` (PR #160175)

2025-09-22 Thread Finn Plummer via cfe-commits
https://github.com/inbelic ready_for_review https://github.com/llvm/llvm-project/pull/160175 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][HLSL] Replace use of `clang_dxc` with `clang_cc1` in testing (PR #160359)

2025-09-23 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/160359 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][HLSL] Remove use of `clang_dxc` in testing (PR #160359)

2025-09-23 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/160359 The use of `clang_dxc` should be contained to the `clang/test/[Option|Driver]` directories. `clang_cc1` is a more direct way to invoke these tests. >From 7ae584592f17ade9f7cfa2b0497d4d5cd0db580b Mon Sep 17 00:

<    3   4   5   6   7   8