Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
1bc15cf
first attempt
bob80905 Sep 9, 2025
3b644e4
remove unneeded include order change
bob80905 Sep 9, 2025
e893715
more progress but validation output text missing
bob80905 Sep 12, 2025
bca50a7
yay we get validation output
bob80905 Sep 13, 2025
2426797
rename test file
bob80905 Sep 13, 2025
4bfaa33
find out how to extract validation output!
bob80905 Sep 15, 2025
a81cc12
chore: autopublish 2025-09-15T23:45:41Z
github-actions[bot] Sep 15, 2025
7d66a4f
self review
bob80905 Sep 16, 2025
7ea1d55
fixups
bob80905 Sep 16, 2025
8e08885
chore: autopublish 2025-09-16T01:50:38Z
github-actions[bot] Sep 16, 2025
4480cb9
add missing override
bob80905 Sep 16, 2025
fdca209
add an include handler hahag
bob80905 Sep 16, 2025
1bd36b7
fix up azure pipeline
bob80905 Sep 16, 2025
37f21bb
more cleanup
bob80905 Sep 16, 2025
912143d
add IDxcCompiler wrapper as well
bob80905 Sep 16, 2025
c6a1cdd
try using IDxcCompiler interface in extval path instead
bob80905 Sep 16, 2025
5b3ccfa
address Damyan except for comment on single wrapper both interfaces
bob80905 Sep 17, 2025
0910163
merge into one
bob80905 Sep 18, 2025
c58a402
use given allocator, and remove ;
bob80905 Sep 18, 2025
0825a74
add verbosity flag, and insert validation-version and OD into compile…
bob80905 Sep 19, 2025
1bd9911
try cross platform uuidof, and further restrict validation condition
bob80905 Sep 19, 2025
d118fe7
update include path
bob80905 Sep 19, 2025
b37b3b4
try again for mac/linux
bob80905 Sep 19, 2025
ca99946
try once again
bob80905 Sep 19, 2025
50cd82d
try this?
bob80905 Sep 19, 2025
7ef1736
address Ashley
bob80905 Sep 19, 2025
a688e0e
chore: autopublish 2025-09-19T19:15:09Z
github-actions[bot] Sep 19, 2025
a28afd3
clarify test comment
bob80905 Sep 19, 2025
3c12a50
nfc comment change
bob80905 Sep 19, 2025
73d8ac1
address Damyan, fix up validator-version override bug
bob80905 Sep 20, 2025
308bb22
make sure output is seen when compilation fails
bob80905 Sep 20, 2025
106c9d8
try using DxCCoGetMalloc for cross platform instead
bob80905 Sep 20, 2025
010a05b
address Damyan
bob80905 Sep 20, 2025
06ddcb5
use DxcThreadMalloc
bob80905 Sep 20, 2025
2f60272
address Damyan
bob80905 Sep 20, 2025
431aa7a
address Tex except for extra interface derrivation
bob80905 Sep 23, 2025
be42093
address Damyan except for deduplication of createinstance*
bob80905 Sep 24, 2025
55ccb16
Incorporate Tex's commit / add some comments for self clarification /…
bob80905 Sep 24, 2025
d5106a5
make a use out of m_compilerIID, and fix initializer list order
bob80905 Sep 24, 2025
cc2338a
fix var names in extval.cpp
bob80905 Sep 24, 2025
7680af7
address tex, fix up safe cast
bob80905 Sep 24, 2025
65928a6
address Damyan, add new macro definition for clear exception descript…
bob80905 Sep 25, 2025
a4fce30
address Damyan, fix function names, remove IFTs in favor of asserts
bob80905 Sep 25, 2025
9a6a9d5
address Damyan
bob80905 Sep 26, 2025
bac50d2
update comment
bob80905 Sep 26, 2025
475f8fa
don't validate if compilation failed
bob80905 Sep 30, 2025
609ee5a
clang format
bob80905 Sep 30, 2025
8c857fd
make sure lit uses specified env to detect validation version
bob80905 Oct 1, 2025
1d8e2ef
rebase and update test that was missed due to stale dxc checkout
bob80905 Oct 2, 2025
4829520
appropriately pass errorcode to exit code
bob80905 Oct 2, 2025
cedc965
address Alex
bob80905 Oct 3, 2025
b5babf1
revert some non-windows incompatible stuff
bob80905 Oct 3, 2025
c708f6a
Merge branch 'main' into add_extvalsupport_class_to_val_infra
bob80905 Oct 3, 2025
17b35b5
add requires to new test that was added while waiting for this PR to …
bob80905 Oct 3, 2025
0dabdd1
try rearranging public private order
bob80905 Oct 6, 2025
f12af78
clang format
bob80905 Oct 6, 2025
03c1d54
address Alex
bob80905 Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,23 @@ stages:
- script: |
call utils\hct\hctstart.cmd %HLSL_SRC_DIR% %HLSL_BLD_DIR%
call utils\hct\hcttest.cmd -$(configuration) exec
displayName: 'DXIL Execution Tests'
displayName: 'DXIL Execution Tests'
- script: |
call utils\hct\hctstart.cmd %HLSL_SRC_DIR% %HLSL_BLD_DIR%
call utils\hct\hcttest.cmd -$(configuration) compat-suite 1.6
displayName: 'DXIL Compat Suite Tests (1.6 release)'
condition: succeededOrFailed()
- script: |
call utils\hct\hctstart.cmd %HLSL_SRC_DIR% %HLSL_BLD_DIR%
call utils\hct\hcttest.cmd -$(configuration) compat-suite 1.7
displayName: 'DXIL Compat Suite Tests (1.7 release)'
condition: succeededOrFailed()
- script: |
call utils\hct\hctstart.cmd %HLSL_SRC_DIR% %HLSL_BLD_DIR%
call utils\hct\hcttest.cmd -$(configuration) compat-suite 1.8
displayName: 'DXIL Compat Suite Tests (1.8 release)'
condition: succeededOrFailed()


- job: Nix
timeoutInMinutes: 165
Expand Down
1 change: 1 addition & 0 deletions include/dxc/Support/HLSLOptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ class DxcOpts {
std::string TimeTrace = ""; // OPT_ftime_trace[EQ]
unsigned TimeTraceGranularity = 500; // OPT_ftime_trace_granularity_EQ
bool VerifyDiagnostics = false; // OPT_verify
bool Verbose = false; // OPT_verbose

// Optimization pass enables, disables and selects
OptimizationToggles
Expand Down
12 changes: 12 additions & 0 deletions include/dxc/Support/HLSLOptions.td
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,18 @@ def verify : Joined<["-"], "verify">,
Group<hlslcomp_Group>, Flags<[CoreOption, DriverOption]>,
HelpText<"Verify diagnostic output using comment directives">;

def verbose : Flag<["-"], "verbose">,
Group<hlslcomp_Group>,
Flags<[DriverOption]>,
HelpText<"Allow emission of verbose compiler information">;

// Short alias '-v' for the verbose option
def v : Flag<["-"], "v">,
Alias<verbose>,
Group<hlslcomp_Group>,
Flags<[DriverOption]>,
HelpText<"Alias for -verbose">;

/*
def fno_caret_diagnostics : Flag<["-"], "fno-caret-diagnostics">, Group<hlslcomp_Group>,
Flags<[CoreOption]>;
Expand Down
10 changes: 7 additions & 3 deletions include/dxc/Support/dxcapi.extval.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include "dxc/Support/dxcapi.use.h"
#include "dxc/WinAdapter.h"
#include "llvm/Support/raw_ostream.h"

#include <cassert>
#include <string>

namespace dxc {

class DxcDllExtValidationLoader : public DllLoader {
// DxCompilerSupport manages the
// lifetime of dxcompiler.dll, while DxilExtValSupport
Expand All @@ -12,8 +16,8 @@ class DxcDllExtValidationLoader : public DllLoader {
std::string DxilDllPath;

public:
std::string GetDxilDllPath() { return DxilDllPath; }
bool DxilDllFailedToLoad() {
std::string getDxilDllPath() { return DxilDllPath; }
bool dxilDllFailedToLoad() {
return !DxilDllPath.empty() && !DxilExtValSupport.IsEnabled();
}

Expand All @@ -22,7 +26,7 @@ class DxcDllExtValidationLoader : public DllLoader {
HRESULT CreateInstance2Impl(IMalloc *pMalloc, REFCLSID clsid, REFIID riid,
IUnknown **pResult) override;

HRESULT Initialize();
HRESULT initialize(llvm::raw_string_ostream &log);

bool IsEnabled() const override { return DxCompilerSupport.IsEnabled(); }
};
Expand Down
1 change: 1 addition & 0 deletions lib/DxcSupport/HLSLOptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,7 @@ int ReadDxcOpts(const OptTable *optionTable, unsigned flagsToInclude,
opts.TimeReport = Args.hasFlag(OPT_ftime_report, OPT_INVALID, false);
opts.TimeTrace = Args.hasFlag(OPT_ftime_trace, OPT_INVALID, false) ? "-" : "";
opts.VerifyDiagnostics = Args.hasFlag(OPT_verify, OPT_INVALID, false);
opts.Verbose = Args.hasFlag(OPT_verbose, OPT_INVALID, false);
if (Args.hasArg(OPT_ftime_trace_EQ))
opts.TimeTrace = Args.getLastArgValue(OPT_ftime_trace_EQ);
if (Arg *A = Args.getLastArg(OPT_ftime_trace_granularity_EQ)) {
Expand Down
Loading