[clang] [HLSL] Add the DXC matrix orientation flags (PR #171550)
Farzon Lotfi via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 10 13:07:52 PST 2025
================
@@ -3723,6 +3723,10 @@ static void RenderHLSLOptions(const ArgList &Args, ArgStringList &CmdArgs,
if (!Args.hasArg(options::OPT_dxc_no_stdinc) &&
!Args.hasArg(options::OPT_nostdinc))
CmdArgs.push_back("-finclude-default-header");
+ if (Args.hasArg(options::OPT_dxc_col_major))
+ CmdArgs.push_back("-fmatrix-memory-layout=column-major");
+ if (Args.hasArg(options::OPT_dxc_row_major))
+ CmdArgs.push_back("-fmatrix-memory-layout=row-major");
----------------
farzonl wrote:
try and figure out how to replace this with
```diff
diff --git a/clang/lib/Driver/ToolChains/HLSL.cpp b/clang/lib/Driver/ToolChains/HLSL.cpp
index 5d7221b8718a..11597b168f59 100644
--- a/clang/lib/Driver/ToolChains/HLSL.cpp
+++ b/clang/lib/Driver/ToolChains/HLSL.cpp
@@ -506,7 +510,18 @@ HLSLToolChain::TranslateArgs(const DerivedArgList &Args, StringRef BoundArch,
A->claim();
continue;
}
-
+ if (A->getOption().getID() == options::OPT_dxc_col_major) {
+ DAL->AddSeparateArg(nullptr, Opts.getOption(options::OPT_fmatrix_memory_layout_EQ),
+ "column-major");
+ A->claim();
+ continue;
+ }
+ if (A->getOption().getID() == options::OPT_dxc_row_major) {
+ DAL->AddSeparateArg(nullptr, Opts.getOption(options::OPT_fmatrix_memory_layout_EQ),
+ "row-major");
+ A->claim();
+ continue;
+ }
DAL->append(A);
}
```
https://github.com/llvm/llvm-project/pull/171550
More information about the cfe-commits
mailing list