@@ -17,7 +17,7 @@ set TEST_DXILCONV_FILTER=
1717set TEST_EXEC_FUTURE = 0
1818set TEST_EXTRAS = 0
1919set TEST_EXEC_REQUIRED = 0
20- set TEST_CLANG_FILTER = /select: " @Priority<1 "
20+ set TEST_CLANG_FILTER =
2121set TEST_EXEC_FILTER = ExecutionTest::*
2222set LOG_FILTER = /logOutput:LowWithConsoleBuffering
2323set TEST_COMPAT_SUITE = 0
@@ -81,7 +81,7 @@ if "%1"=="-clean" (
8181) else if " %1 " == " clang-filter" (
8282 set TEST_ALL = 0
8383 set TEST_CLANG = 1
84- set TEST_CLANG_FILTER = /name: %2
84+ set TEST_CLANG_FILTER = %2
8585 shift /1
8686) else if " %1 " == " file-check" (
8787 set TEST_ALL = 0
@@ -91,7 +91,7 @@ if "%1"=="-clean" (
9191) else if " %1 " == " v" (
9292 set TEST_ALL = 0
9393 set TEST_CLANG = 1
94- set TEST_CLANG_FILTER = /name: VerifierTest::*
94+ set TEST_CLANG_FILTER = VerifierTest::*
9595) else if " %1 " == " cmd" (
9696 set TEST_ALL = 0
9797 set TEST_CMD = 1
@@ -101,7 +101,7 @@ if "%1"=="-clean" (
101101) else if " %1 " == " dxilconv-filter" (
102102 set TEST_ALL = 0
103103 set TEST_DXILCONV = 1
104- set TEST_DXILCONV_FILTER = /name: %2
104+ set TEST_DXILCONV_FILTER = %2
105105 shift /1
106106) else if " %1 " == " noexec" (
107107 set TEST_ALL = 0
@@ -152,6 +152,8 @@ if "%1"=="-clean" (
152152 set BUILD_ARCH = ARM
153153) else if /i " %1 " == " -arm64" (
154154 set BUILD_ARCH = ARM64
155+ ) else if /i " %1 " == " -arm64ec" (
156+ set BUILD_ARCH = ARM64EC
155157) else if " %1 " == " -adapter" (
156158 set TEST_ADAPTER = /p:" Adapter=%~2 "
157159 shift /1
@@ -188,6 +190,11 @@ shift /1
188190goto :collect_args
189191:done_args
190192
193+ rem Map build arch to bin directory name (for TAEF and Agility SDK)
194+ rem Win32 to x86, ARM64EC to ARM64, no changes for other platforms
195+ set BUILD_ARCH_DIR = %BUILD_ARCH:Win32 =x86 %
196+ set BUILD_ARCH_DIR = %BUILD_ARCH_DIR:ARM64EC =ARM64 %
197+
191198rem By default, run all clang tests and execution tests and dxilconv tests
192199if " %TEST_ALL% " == " 1" (
193200 set TEST_CLANG = 1
@@ -278,9 +285,9 @@ if "%TEST_SPIRV%"=="1" (
278285)
279286rem End SPIRV change
280287
281- echo Running HLSL tests ...
288+ echo Running HLSL tests for %BUILD_ARCH% ...
282289
283- if " %BUILD_ARCH % " == " ARM64" (
290+ if " %BUILD_ARCH_DIR % " == " ARM64" (
284291 rem ARM64 TAEF has an issue when running ARM64X tests with /parallel flag
285292 set PARALLEL_OPTION =
286293)
@@ -295,7 +302,13 @@ if exist "%HCT_EXTRAS%\hcttest-before.cmd" (
295302
296303if " %TEST_CLANG% " == " 1" (
297304 echo Running Clang unit tests ...
298- call :runte clang-hlsl-tests.dll /p:" HlslDataDir=%HLSL_SRC_DIR% \tools\clang\test\HLSL" %TEST_CLANG_FILTER%%ADDITIONAL_OPTS%
305+ if " %TEST_CLANG_FILTER% " == " " (
306+ set SELECT_FILTER = /select:" @Priority<1 AND @Architecture='%BUILD_ARCH% '"
307+ ) else (
308+ set SELECT_FILTER = /select:" @Name='%TEST_CLANG_FILTER% ' AND @Architecture='%BUILD_ARCH% '"
309+ )
310+
311+ call :runte clang-hlsl-tests.dll /p:" HlslDataDir=%HLSL_SRC_DIR% \tools\clang\test\HLSL" !SELECT_FILTER! %ADDITIONAL_OPTS%
299312 set RES_CLANG = !ERRORLEVEL!
300313)
301314
@@ -309,9 +322,10 @@ if "%TEST_EXEC%"=="1" (
309322 call :copyagility
310323)
311324
325+ set EXEC_COMMON_ARGS = /p:" HlslDataDir=%HLSL_SRC_DIR% \tools\clang\test\HLSL" /runIgnoredTests /p:" ExperimentalShaders=*" %TEST_ADAPTER% %USE_AGILITY_SDK%
312326if " %TEST_EXEC% " == " 1" (
313327 echo Sniffing for D3D12 configuration ...
314- call :runte clang-hlsl-tests.dll /p: " HlslDataDir= %HLSL_SRC_DIR% \tools\clang\test\HLSL " /name: ExecutionTest::BasicTriangleTest /runIgnoredTests /p: " ExperimentalShaders=* " %TEST_ADAPTER% %USE_AGILITY_SDK%
328+ call :runte clang-hlsl-tests.dll /select: " @Name=' ExecutionTest::BasicTriangleTest' AND @Architecture=' %BUILD_ARCH% ' " %EXEC_COMMON_ARGS%
315329 set RES_EXEC = !ERRORLEVEL!
316330 if errorlevel 1 (
317331 if not " %TEST_EXEC_REQUIRED% " == " 1" (
@@ -326,10 +340,11 @@ if "%TEST_EXEC%"=="1" (
326340
327341if " %TEST_EXEC% " == " 1" (
328342 if " %TEST_EXEC_FUTURE% " == " 1" (
329- call : runte clang-hlsl-tests.dll /p: " HlslDataDir= %HLSL_SRC_DIR% \tools\clang\test\HLSL " /select:" @Name='%TEST_EXEC_FILTER% ' AND @Priority=2" /runIgnoredTests /p: " ExperimentalShaders=* " %TEST_ADAPTER% %USE_AGILITY_SDK% %ADDITIONAL_OPTS%
343+ set SELECT_FILTER = /select:" @Name='%TEST_EXEC_FILTER% ' AND @Priority=2 AND @Architecture=' %BUILD_ARCH% ' "
330344 ) else (
331- call : runte clang-hlsl-tests.dll /p: " HlslDataDir= %HLSL_SRC_DIR% \tools\clang\test\HLSL " /select:" @Name='%TEST_EXEC_FILTER% ' AND @Priority<2" /runIgnoredTests /p: " ExperimentalShaders=* " %TEST_ADAPTER% %USE_AGILITY_SDK% %ADDITIONAL_OPTS%
345+ set SELECT_FILTER = /select:" @Name='%TEST_EXEC_FILTER% ' AND @Priority<2 AND @Architecture=' %BUILD_ARCH% ' "
332346 )
347+ call :runte clang-hlsl-tests.dll !SELECT_FILTER! %EXEC_COMMON_ARGS% %ADDITIONAL_OPTS%
333348 set RES_EXEC = !ERRORLEVEL!
334349)
335350
@@ -342,7 +357,12 @@ if exist "%HCT_EXTRAS%\hcttest-extras.cmd" (
342357)
343358
344359if " %TEST_DXILCONV% " == " 1" (
345- call :runte dxilconv-tests.dll /p:" HlslDataDir=%HLSL_SRC_DIR% \projects\dxilconv\test" %TEST_DXILCONV_FILTER%
360+ if " %TEST_DXILCONV_FILTER% " == " " (
361+ set SELECT_FILTER = /select:" @Architecture='%BUILD_ARCH% '"
362+ ) else (
363+ set SELECT_FILTER = /select:" @Name='%TEST_DXILCONV_FILTER% ' AND @Architecture='%BUILD_ARCH% '"
364+ )
365+ call :runte dxilconv-tests.dll /p:" HlslDataDir=%HLSL_SRC_DIR% \projects\dxilconv\test" !SELECT_FILTER!
346366 set RES_DXILCONV = !ERRORLEVEL!
347367)
348368
@@ -412,6 +432,7 @@ echo -x86 targets an x86 build (aka. Win32)
412432echo -x64 targets an x64 build (aka. Win64)
413433echo -arm targets an ARM build
414434echo -arm64 targets an ARM64 build
435+ echo -arm64ec targets an ARM64EC build
415436echo .
416437echo target(s):
417438echo clang - run clang tests.
@@ -452,7 +473,7 @@ rem %4 - third argument to te
452473if " %HLSL_TAEF_DIR% " == " " (
453474 set TE = te
454475) else (
455- set TE = " %HLSL_TAEF_DIR% \%BUILD_ARCH: Win32 = x86 % \te"
476+ set TE = " %HLSL_TAEF_DIR% \%BUILD_ARCH_DIR % \te"
456477)
457478echo %TE% /miniDumpOnCrash /unicodeOutput:false /outputFolder:%TEST_DIR% %LOG_FILTER% %PARALLEL_OPTION% %TEST_DIR% \%*
458479call %TE% /miniDumpOnCrash /unicodeOutput:false /outputFolder:%TEST_DIR% %LOG_FILTER% %PARALLEL_OPTION% %TEST_DIR% \%*
@@ -502,16 +523,16 @@ if "%HLSL_TAEF_DIR%"=="" (
502523 exit /b 1
503524)
504525set FULL_AGILITY_PATH =
505- if exist " %HLSL_AGILITYSDK_DIR% \build\native\bin\%BUILD_ARCH: Win32 = x86 % \D3D12Core.dll" (
506- set FULL_AGILITY_PATH = %HLSL_AGILITYSDK_DIR% \build\native\bin\%BUILD_ARCH: Win32 = x86 %
507- ) else if exist " %HLSL_AGILITYSDK_DIR% \%BUILD_ARCH: Win32 = x86 % \D3D12Core.dll" (
508- set FULL_AGILITY_PATH = %HLSL_AGILITYSDK_DIR% \%BUILD_ARCH: Win32 = x86 %
526+ if exist " %HLSL_AGILITYSDK_DIR% \build\native\bin\%BUILD_ARCH_DIR % \D3D12Core.dll" (
527+ set FULL_AGILITY_PATH = %HLSL_AGILITYSDK_DIR% \build\native\bin\%BUILD_ARCH_DIR %
528+ ) else if exist " %HLSL_AGILITYSDK_DIR% \%BUILD_ARCH_DIR % \D3D12Core.dll" (
529+ set FULL_AGILITY_PATH = %HLSL_AGILITYSDK_DIR% \%BUILD_ARCH_DIR %
509530) else if exist " %HLSL_AGILITYSDK_DIR% \D3D12Core.dll" (
510531 set FULL_AGILITY_PATH = %HLSL_AGILITYSDK_DIR%
511532) else (
512533 echo HLSL_AGILITYSDK_DIR is set, but unable to resolve path to binaries
513534 exit /b 1
514535)
515- mkdir " %HLSL_TAEF_DIR% \%BUILD_ARCH: Win32 = x86 % \D3D12" 1 > nul 2 > nul
516- call %HCT_DIR% \hctcopy.cmd " %FULL_AGILITY_PATH% " " %HLSL_TAEF_DIR% \%BUILD_ARCH: Win32 = x86 % \D3D12" D3D12Core.dll d3d12SDKLayers.dll
536+ mkdir " %HLSL_TAEF_DIR% \%BUILD_ARCH_DIR % \D3D12" 1 > nul 2 > nul
537+ call %HCT_DIR% \hctcopy.cmd " %FULL_AGILITY_PATH% " " %HLSL_TAEF_DIR% \%BUILD_ARCH_DIR % \D3D12" D3D12Core.dll d3d12SDKLayers.dll
517538exit /b %ERRORLEVEL%
0 commit comments