diff --git a/tools/clang/unittests/HLSLExec/ExecutionTest.cpp b/tools/clang/unittests/HLSLExec/ExecutionTest.cpp index 5027f8daace..cbe62008a9a 100644 --- a/tools/clang/unittests/HLSLExec/ExecutionTest.cpp +++ b/tools/clang/unittests/HLSLExec/ExecutionTest.cpp @@ -28,8 +28,8 @@ #include #include #include -#include "dxc/Test/CompilationResult.h" -#include "dxc/Test/HLSLTestData.h" +#include +#include "dxc/Support/WinIncludes.h" #include #include #include @@ -38,12 +38,8 @@ #include #undef _read -#include "dxc/Test/DxcTestUtils.h" #include "dxc/Support/Global.h" -#include "dxc/Support/WinIncludes.h" #include "dxc/Test/HlslTestUtils.h" -#include "dxc/Support/FileIOHelper.h" -#include "dxc/Support/Unicode.h" // // d3d12.h and dxgi1_4.h are included in the Windows 10 SDK @@ -186,13 +182,15 @@ static void SavePixelsToFile(LPCVOID pPixels, DXGI_FORMAT format, VERIFY_SUCCEEDED(pStream->Commit(STGC_DEFAULT)); } -class ExecutionTest { +class DxilConfTest { public: - BEGIN_TEST_CLASS(ExecutionTest) + BEGIN_TEST_CLASS(DxilConfTest) TEST_CLASS_PROPERTY(L"Parallel", L"true") +#ifndef _HLK_CONF TEST_METHOD_PROPERTY(L"Priority", L"0") +#endif END_TEST_CLASS() - TEST_CLASS_SETUP(ExecutionTestClassSetup) + TEST_CLASS_SETUP(DxilConfTestClassSetup) TEST_METHOD(BasicComputeTest); TEST_METHOD(BasicTriangleTest); @@ -200,50 +198,394 @@ class ExecutionTest { TEST_METHOD(BasicTriangleOpTestHalf); - TEST_METHOD(OutOfBoundsTest); - TEST_METHOD(SaturateTest); - TEST_METHOD(SignTest); - TEST_METHOD(Int64Test); - TEST_METHOD(LifetimeIntrinsicTest) + BEGIN_TEST_METHOD(OutOfBoundsTest) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies basic OutOfBoundsTest.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"3d8f4e73-d840-4582-8182-8996f717ebac") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Basic OutOfBoundsTest") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(SaturateTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies the saturate instruction.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"f1d6cd38-d89c-47d2-bfb4-2e17b94b4d0f") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Saturate instruction test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(SignTest) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies basic sign.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"4827868d-b4c5-408a-841a-6f8336bb1605") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Sign instruction test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(Int64Test) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies basic 64-bit int usage.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"969d000a-d972-43fb-abc5-9ed622bfb392") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Basic 64-bit int test") + TEST_METHOD_PROPERTY( + L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXIL.Int64.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(LifetimeIntrinsicTest) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies lifetime intrinsics") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"382d7ad4-cdf3-49cb-a622-3cb346b489f9") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Lifetime intrinsics markers") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() TEST_METHOD(WaveIntrinsicsTest); TEST_METHOD(WaveIntrinsicsDDITest); - TEST_METHOD(WaveIntrinsicsInPSTest); - TEST_METHOD(WaveSizeTest); - TEST_METHOD(WaveSizeRangeTest); + BEGIN_TEST_METHOD(WaveIntrinsicsInPSTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies basic wave intrinsics under pixel shader.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"d4b93ce1-0f21-41bd-9a00-0ad2772aac56") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Wave Op Test - WaveIntrinsicsInPSTest") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXIL." + L"WaveOps.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(WaveSizeTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 WaveSize attribute") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"a57f83a9-ddea-4b6d-a625-bac5642944d3") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - WaveSize") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(WaveSizeRangeTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.8 WaveSizeRange attribute") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"df933b47-3016-4362-b764-d98ff9eeb486") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.8 - WaveSizeRange") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel68.CoreRequirement") + END_TEST_METHOD() // TODO(#8661): Remove me when GroupSharedLimit is available in a released // Windows SDK. #if defined(HLSLEXEC_GROUPSHARED_LIMITS) - TEST_METHOD(GroupSharedLimitTest); - TEST_METHOD(GroupSharedLimitASTest); - TEST_METHOD(GroupSharedLimitMSTest); + BEGIN_TEST_METHOD(GroupSharedLimitTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies the GroupSharedLimit attribute in compute shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"d2e96368-77f8-44db-a3dc-301e6ad08758") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.10 - " + L"GroupSharedLimit (compute)") + TEST_METHOD_PROPERTY( + L"Kits.Specification", + L"Device.Graphics.D3D12.DXILCore.ShaderModel610.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(GroupSharedLimitASTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies the GroupSharedLimit attribute in amplification shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"736c4f87-0656-4cf6-ad6a-bc625053740d") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.10 - " + L"GroupSharedLimit (amplification)") + TEST_METHOD_PROPERTY( + L"Kits.Specification", + L"Device.Graphics.D3D12.DXILCore.ShaderModel610.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(GroupSharedLimitMSTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies the GroupSharedLimit attribute in mesh shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"84616150-e5bc-4831-812d-96418457a0e6") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.10 - GroupSharedLimit (mesh)") + TEST_METHOD_PROPERTY( + L"Kits.Specification", + L"Device.Graphics.D3D12.DXILCore.ShaderModel610.CoreRequirement") + END_TEST_METHOD() #endif // defined(HLSLEXEC_GROUPSHARED_LIMITS) - TEST_METHOD(GroupWaveIndexTest); - TEST_METHOD(PartialDerivTest); - TEST_METHOD(DerivativesTest); - TEST_METHOD(ComputeSampleTest); - TEST_METHOD(ATOProgOffset); - TEST_METHOD(ATOSampleCmpLevelTest); - TEST_METHOD(ATOWriteMSAATest); - TEST_METHOD(ATORawGather); - TEST_METHOD(AtomicsTest); - TEST_METHOD(Atomics64Test); - TEST_METHOD(AtomicsRawHeap64Test); - TEST_METHOD(AtomicsTyped64Test); - TEST_METHOD(AtomicsShared64Test); - TEST_METHOD(AtomicsFloatTest); - TEST_METHOD(HelperLaneTest); - TEST_METHOD(HelperLaneTestWave); - TEST_METHOD(SignatureResourcesTest) - TEST_METHOD(DynamicResourcesTest) - TEST_METHOD(DynamicResourcesDynamicIndexingTest) - - TEST_METHOD(QuadReadTest) - TEST_METHOD(QuadAnyAll); - - TEST_METHOD(CBufferTestHalf); - - TEST_METHOD(BasicShaderModel61); - TEST_METHOD(BasicShaderModel63); + BEGIN_TEST_METHOD(GroupWaveIndexTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies the GetGroupWaveIndex and GetGroupWaveCount " + L"intrinsics in compute shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"c3f60f00-8e91-4acb-b4be-9f483fbe836b") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.10 - GroupWaveIndex") + TEST_METHOD_PROPERTY( + L"Kits.Specification", + L"Device.Graphics.D3D12.DXILCore.ShaderModel610.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(PartialDerivTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies partial derivative intrinsics under pixel shader.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"b190893f-ae70-4d34-85b9-a20248e76f40") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Basic partial derivative test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(DerivativesTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 derivative operations in " + L"compute, mesh and amplification shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"c5e7c498-d3bd-4219-907e-e6d030bf59f7") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Derivatives") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ComputeSampleTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies sample operations in compute and mesh shaders") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"2b74e0c5-839e-4327-b878-60d6de8341c6") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Sample in " + L"compute and mesh shaders") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ATOProgOffset) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies Programmable Sample*/Load Offsets (Advanced Texture Ops)") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"2b81a42d-cb1b-42d4-84ea-c2bdd94a760c") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.7 - " + L"Programmable Sample Offsets ") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM31.AdapterRender.D3D12.DXILCore." + L"ShaderModel67.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ATOSampleCmpLevelTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies SampleCmpLevel (Advanced Texture Ops)") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"485026f3-192e-4dd0-8965-1889929c3ebb") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.7 - SampleCmpLevel") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM31.AdapterRender.D3D12.DXILCore." + L"ShaderModel67.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ATOWriteMSAATest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies Writable MSAA (Advanced Texture Ops)") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"e4841e1f-e969-41d0-bfb6-a53bb714df84") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.7 - Writable MSAA") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM31.AdapterRender.D3D12.DXILCore." + L"ShaderModel67.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ATORawGather) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies GatherRaw (Advanced Texture Ops)") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"45999098-b007-4778-a574-c2d30c54a1aa") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.7 - GatherRaw") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM31.AdapterRender.D3D12.DXILCore." + L"ShaderModel67.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(AtomicsTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies 32-bit integer atomic operations") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"84eb9d7e-81d6-45b5-b967-c128862b0c56") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics (32-bit integer)") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(Atomics64Test) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies shader model 6.6 atomic operations on 64-bit integers") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"50a5ddb9-25ff-4c7b-b438-6cc6346a1531") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics (64-bit integer)") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(AtomicsRawHeap64Test) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 atomics using raw buffers " + L"from the descriptor heap") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"38a50fa1-7611-435b-a199-78fd285db21e") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics " + L"64-bit raw heap test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(AtomicsTyped64Test) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies shader model 6.6 atomic operations on typed 64-bit resources") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"4b67b299-3c80-4301-b968-64022826782c") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics " + L"(typed 64-bit resources)") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(AtomicsShared64Test) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 atomic operations on " + L"groupshared 64-bit variables") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"444c06ae-7957-496e-ae04-d668454e1d34") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics " + L"(groupshared 64-bit variables)") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(AtomicsFloatTest) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies shader model 6.6 floating point atomic operations") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"23f41361-f8f5-4267-b948-b00e0bdab593") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Atomics (float)") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(HelperLaneTest) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies IsHelperLane intrinsic") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"d8b209a0-d976-48ca-bc9e-047d2a0075f2") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - IsHelperLane") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(HelperLaneTestWave) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies helper lanes in wave operations") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"b48c35c6-44cd-4f68-9a71-eb500fa585b8") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Helper " + L"Lanes in Wave Operations") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(SignatureResourcesTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 signature resources") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"44e432d8-52da-4309-b3e0-cf06048baac6") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Signature resources") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(DynamicResourcesTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 dynamic resources") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"b9ac94b3-a96e-412b-9101-ff731697823c") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Dynamic resources") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(DynamicResourcesDynamicIndexingTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies dynamic indexing of dynamic resources") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"cb131b0c-c2aa-4a7f-be38-dfa94c0556d3") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Dynamic " + L"indexing of dynamic resources") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") + END_TEST_METHOD() + + BEGIN_TEST_METHOD(QuadReadTest) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies QuadRead intrinsics") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"a9b504bb-f841-414e-bdda-ba948f18420f") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - QuadRead intrinsics") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM22.AdapterRender.D3D12.DXILCore." + L"ShaderModel60.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(QuadAnyAll) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies QuadAny/QuadAll intrinsic") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"86a4e6f0-fd73-487b-9d63-ec5a5bb2b803") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.7 - QuadAny QuadAll") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM31.AdapterRender.D3D12.DXILCore." + L"ShaderModel67.CoreRequirement") + END_TEST_METHOD() + + BEGIN_TEST_METHOD(CBufferTestHalf) + TEST_METHOD_PROPERTY(L"Kits.Description", L"Verifies float16 in CBuffer") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12." + L"Native16Bits.CoreRequirement") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"936cd44a-c4b1-4f9b-992f-76fe17d2bf60") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL 16bit Types Test - CBuffer Test") + END_TEST_METHOD() + + BEGIN_TEST_METHOD(BasicShaderModel61) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.1 support.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"a53f923a-af31-4d2c-b6d9-b667281c52c0") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Basic shader model 6.1 test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM23.AdapterRender.D3D12.DXILCore." + L"ShaderModel61.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(BasicShaderModel63) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.3 support.") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"d8918d1c-382f-491a-a1b2-3c1fcc994202") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Basic shader model 6.3 test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM25.AdapterRender.D3D12.DXILCore." + L"ShaderModel63.CoreRequirement") + END_TEST_METHOD() BEGIN_TEST_METHOD(WaveIntrinsicsActiveIntTest) TEST_METHOD_PROPERTY( @@ -399,29 +741,179 @@ class ExecutionTest { L"DataSource", L"Table:ShaderOpArithTable.xml#DenormTertiaryFloatOpTable") END_TEST_METHOD() - TEST_METHOD(BarycentricsTest); + BEGIN_TEST_METHOD(BarycentricsTest) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies barycentrics functionality") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"13ea5ebf-ac10-4723-a9a0-a4fe1b9042a6") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Barycentrics test") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM23.AdapterRender.D3D12.DXILCore." + L"ShaderModel61.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(ComputeRawBufferLdStI32); - TEST_METHOD(ComputeRawBufferLdStFloat); + BEGIN_TEST_METHOD(ComputeRawBufferLdStI32) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for int32_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"54dd1088-42e8-477e-93c5-87494f1231cc") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - int32_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ComputeRawBufferLdStFloat) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for float datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"430c019f-ba13-42c7-bce6-3a9bd7905a30") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - float") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(ComputeRawBufferLdStI64); - TEST_METHOD(ComputeRawBufferLdStDouble); + BEGIN_TEST_METHOD(ComputeRawBufferLdStI64) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for int64_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"981b4460-073f-4255-ab7c-192adfff26fa") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - int64_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM25.AdapterRender.D3D12.DXILCore." + L"ShaderModel63.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ComputeRawBufferLdStDouble) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for double datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"798cc50c-9018-4948-9cf7-857274aedf06") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - double") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM25.AdapterRender.D3D12.DXILCore." + L"ShaderModel63.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(ComputeRawBufferLdStI16); - TEST_METHOD(ComputeRawBufferLdStHalf); + BEGIN_TEST_METHOD(ComputeRawBufferLdStI16) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for int16_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"c6d11027-5ddb-4ff4-9bac-f5f0d74a4560") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - int16_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(ComputeRawBufferLdStHalf) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies compute pipeline raw buffer load/store for float16_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"ec3f83e8-61ed-4f43-9b06-0f6b6ad323eb") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Compute pipeline - Raw " + L"Buffer Load Store Test - float16_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(GraphicsRawBufferLdStI32); - TEST_METHOD(GraphicsRawBufferLdStFloat); + BEGIN_TEST_METHOD(GraphicsRawBufferLdStI32) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for int32_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"969d01e7-db0e-4271-a136-9089f240e2e2") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - int32_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(GraphicsRawBufferLdStFloat) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for float datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"46141a5a-3a42-4906-bc96-a70c691f79da") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - float") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(GraphicsRawBufferLdStI64); - TEST_METHOD(GraphicsRawBufferLdStDouble); + BEGIN_TEST_METHOD(GraphicsRawBufferLdStI64) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for int64_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"59375291-95a5-4889-896b-c21e0ad11be9") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - int64_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM25.AdapterRender.D3D12.DXILCore." + L"ShaderModel63.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(GraphicsRawBufferLdStDouble) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for double datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"ba10ff74-2d0e-41aa-9539-c80106f770f2") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - double") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM25.AdapterRender.D3D12.DXILCore." + L"ShaderModel63.CoreRequirement") + END_TEST_METHOD() - TEST_METHOD(GraphicsRawBufferLdStI16); - TEST_METHOD(GraphicsRawBufferLdStHalf); + BEGIN_TEST_METHOD(GraphicsRawBufferLdStI16) + TEST_METHOD_PROPERTY( + L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for int16_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"52697183-18a8-4096-8a43-5608b56b49e3") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - int16_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() + BEGIN_TEST_METHOD(GraphicsRawBufferLdStHalf) + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies graphics pipeline raw buffer load/store for " + L"float16_t datatype") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"a6178326-2175-4a29-a493-170f606755fb") + TEST_METHOD_PROPERTY(L"Kits.TestName", + L"D3D12 - DXIL Core Test - Graphics pipeline - Raw " + L"Buffer Load Store Test - float16_t") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM24.AdapterRender.D3D12.DXILCore." + L"ShaderModel62.CoreRequirement") + END_TEST_METHOD() BEGIN_TEST_METHOD(PackUnpackTest) TEST_METHOD_PROPERTY(L"DataSource", L"Table:ShaderOpArithTable.xml#PackUnpackOpTable") + TEST_METHOD_PROPERTY(L"Kits.Description", + L"Verifies shader model 6.6 pack unpack intrinsics") + TEST_METHOD_PROPERTY(L"Kits.TestId", L"d5a302c9-6e1f-4dfc-8b2d-73e41e8f0939") + TEST_METHOD_PROPERTY( + L"Kits.TestName", + L"D3D12 - DXIL Core Test - Shader Model 6.6 - Pack Unpack") + TEST_METHOD_PROPERTY(L"Kits.Specification", + L"Device.Graphics.WDDM30.AdapterRender.D3D12.DXILCore." + L"ShaderModel66.CoreRequirement") END_TEST_METHOD() dxc::DxCompilerDllLoader m_support; @@ -493,9 +985,6 @@ class ExecutionTest { throw std::runtime_error("Unsupported codepage."); } - // Do not remove the following line - it is used by TranslateExecutionTest.py - // MARKER: ExecutionTest/DxilConf Shared Implementation Start - bool SaveImages() { return GetTestParamBool(L"SaveImages"); } // Base class used by raw gather test for polymorphic assignments @@ -1314,11 +1803,11 @@ static void SetupComputeValuePattern(std::vector &values, } } -bool ExecutionTest::ExecutionTestClassSetup() { return DivergentClassSetup(); } +bool DxilConfTest::DxilConfTestClassSetup() { return DivergentClassSetup(); } -void ExecutionTest::RunRWByteBufferComputeTest(ID3D12Device *pDevice, - LPCSTR pShader, - std::vector &values) { +void DxilConfTest::RunRWByteBufferComputeTest(ID3D12Device *pDevice, + LPCSTR pShader, + std::vector &values) { static const int DispatchGroupX = 1; static const int DispatchGroupY = 1; static const int DispatchGroupZ = 1; @@ -1371,7 +1860,7 @@ void ExecutionTest::RunRWByteBufferComputeTest(ID3D12Device *pDevice, 0, D3D12_COMMAND_LIST_TYPE_COMPUTE, pCommandAllocator, pComputeState, IID_PPV_ARGS(&pCommandList))); pCommandList->SetName( - L"ExecutionTest::RunRWByteButterComputeTest Command List"); + L"DxilConfTest::RunRWByteButterComputeTest Command List"); // Set up UAV resource. CComPtr pUavResource; @@ -1428,7 +1917,7 @@ void ExecutionTest::RunRWByteBufferComputeTest(ID3D12Device *pDevice, WaitForSignal(pCommandQueue, FO); } -void ExecutionTest::RunLifetimeIntrinsicComputeTest( +void DxilConfTest::RunLifetimeIntrinsicComputeTest( ID3D12Device *pDevice, LPCSTR pShader, CComPtr &pUavHeap, CComPtr &pRootSignature, LPCWSTR pTargetProfile, @@ -1454,8 +1943,7 @@ void ExecutionTest::RunLifetimeIntrinsicComputeTest( VERIFY_SUCCEEDED(pDevice->CreateCommandList( 0, D3D12_COMMAND_LIST_TYPE_COMPUTE, pCommandAllocator, pComputeState, IID_PPV_ARGS(&pCommandList))); - pCommandList->SetName( - L"ExecutionTest::RunLifetimeIntrinsicTest Command List"); + pCommandList->SetName(L"DxilConfTest::RunLifetimeIntrinsicTest Command List"); // Set up UAV resource. const UINT valueSizeInBytes = (UINT)values.size() * sizeof(uint32_t); @@ -1517,7 +2005,7 @@ void ExecutionTest::RunLifetimeIntrinsicComputeTest( WaitForSignal(pCommandQueue, FO); } -void ExecutionTest::RunLifetimeIntrinsicLibTest( +void DxilConfTest::RunLifetimeIntrinsicLibTest( ID3D12Device *pDevice0, LPCSTR pShader, CComPtr &pRootSignature, LPCWSTR pTargetProfile, LPCWSTR *pOptions, int numOptions) { @@ -1576,8 +2064,7 @@ void ExecutionTest::RunLifetimeIntrinsicLibTest( pCommandAllocator, nullptr, IID_PPV_ARGS(&pCommandList))); pCommandList->SetPipelineState1(pStateObject); - pCommandList->SetName( - L"ExecutionTest::RunLifetimeIntrinsicTest Command List"); + pCommandList->SetName(L"DxilConfTest::RunLifetimeIntrinsicTest Command List"); // Close the command list and execute it to kick-off compilation in the // driver. NOTE: We don't care about anything else, so we're not setting up @@ -1587,12 +2074,12 @@ void ExecutionTest::RunLifetimeIntrinsicLibTest( WaitForSignal(pCommandQueue, FO); } -void ExecutionTest::RunLifetimeIntrinsicTest(ID3D12Device *pDevice, - LPCSTR pShader, - D3D_SHADER_MODEL shaderModel, - bool useLibTarget, - LPCWSTR *pOptions, int numOptions, - std::vector &values) { +void DxilConfTest::RunLifetimeIntrinsicTest(ID3D12Device *pDevice, + LPCSTR pShader, + D3D_SHADER_MODEL shaderModel, + bool useLibTarget, + LPCWSTR *pOptions, int numOptions, + std::vector &values) { LPCWSTR pTargetProfile; switch (shaderModel) { default: @@ -1653,7 +2140,7 @@ void ExecutionTest::RunLifetimeIntrinsicTest(ID3D12Device *pDevice, } } -TEST_F(ExecutionTest, LifetimeIntrinsicTest) { +TEST_F(DxilConfTest, LifetimeIntrinsicTest) { // The only thing we test here is that existence of lifetime intrinsics or // their fallback replacement (store undef or store zeroinitializer) do not // cause any issues in the runtime and driver stack. @@ -1792,7 +2279,7 @@ TEST_F(ExecutionTest, LifetimeIntrinsicTest) { } } -TEST_F(ExecutionTest, BasicComputeTest) { +TEST_F(DxilConfTest, BasicComputeTest) { #ifndef _HLK_CONF // // BasicComputeTest is a simple compute shader that can be used as the basis @@ -1826,7 +2313,7 @@ TEST_F(ExecutionTest, BasicComputeTest) { #endif } -TEST_F(ExecutionTest, BasicTriangleTest) { +TEST_F(DxilConfTest, BasicTriangleTest) { #ifndef _HLK_CONF static const UINT FrameCount = 2; static const UINT m_width = 320; @@ -2001,7 +2488,7 @@ TEST_F(ExecutionTest, BasicTriangleTest) { #endif } -TEST_F(ExecutionTest, Int64Test) { +TEST_F(DxilConfTest, Int64Test) { static const char pShader[] = "RWByteAddressBuffer g_bab : register(u0);\r\n" "[numthreads(8,8,1)]\r\n" "void main(uint GI : SV_GroupIndex) {" @@ -2033,7 +2520,7 @@ TEST_F(ExecutionTest, Int64Test) { VERIFY_ARE_EQUAL(values[0], (uint32_t)0); } -TEST_F(ExecutionTest, SignTest) { +TEST_F(DxilConfTest, SignTest) { static const char pShader[] = "RWByteAddressBuffer g_bab : register(u0);\r\n" "[numthreads(8,1,1)]\r\n" "void main(uint GI : SV_GroupIndex) {" @@ -2061,7 +2548,7 @@ TEST_F(ExecutionTest, SignTest) { VERIFY_ARE_EQUAL(values[7], (uint32_t)1); } -TEST_F(ExecutionTest, WaveIntrinsicsDDITest) { +TEST_F(DxilConfTest, WaveIntrinsicsDDITest) { #ifndef _HLK_CONF CComPtr pDevice; if (!createDevice(&pDevice)) @@ -2084,7 +2571,7 @@ TEST_F(ExecutionTest, WaveIntrinsicsDDITest) { #endif } -TEST_F(ExecutionTest, WaveIntrinsicsTest) { +TEST_F(DxilConfTest, WaveIntrinsicsTest) { #ifndef _HLK_CONF WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -2450,7 +2937,7 @@ TEST_F(ExecutionTest, WaveIntrinsicsTest) { } // This test is assuming that the adapter implements WaveReadLaneFirst correctly -TEST_F(ExecutionTest, WaveIntrinsicsInPSTest) { +TEST_F(DxilConfTest, WaveIntrinsicsInPSTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -2848,7 +3335,7 @@ struct SPrimitives { float f_float2_o; }; -TEST_F(ExecutionTest, OutOfBoundsTest) { +TEST_F(DxilConfTest, OutOfBoundsTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -2873,7 +3360,7 @@ TEST_F(ExecutionTest, OutOfBoundsTest) { } } -TEST_F(ExecutionTest, SaturateTest) { +TEST_F(DxilConfTest, SaturateTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -2901,9 +3388,8 @@ TEST_F(ExecutionTest, SaturateTest) { } } -void ExecutionTest::BasicTriangleTestSetup(LPCSTR ShaderOpName, - LPCWSTR FileName, - D3D_SHADER_MODEL testModel) { +void DxilConfTest::BasicTriangleTestSetup(LPCSTR ShaderOpName, LPCWSTR FileName, + D3D_SHADER_MODEL testModel) { #ifdef _HLK_CONF UNREFERENCED_PARAMETER(ShaderOpName); UNREFERENCED_PARAMETER(FileName); @@ -2953,12 +3439,12 @@ void ExecutionTest::BasicTriangleTestSetup(LPCSTR ShaderOpName, #endif } -TEST_F(ExecutionTest, BasicTriangleOpTest) { +TEST_F(DxilConfTest, BasicTriangleOpTest) { BasicTriangleTestSetup("Triangle", L"basic-triangle.bmp", D3D_SHADER_MODEL_6_0); } -TEST_F(ExecutionTest, BasicTriangleOpTestHalf) { +TEST_F(DxilConfTest, BasicTriangleOpTestHalf) { BasicTriangleTestSetup("TriangleHalf", L"basic-triangle-half.bmp", D3D_SHADER_MODEL_6_2); } @@ -3058,7 +3544,7 @@ void VerifyDerivResults_CS_AS_MS_66(const float *pPixels, UINT offsetCenter) { // Rendering two right triangles forming a square and assigning a texture value // for each pixel to calculate derivates. -TEST_F(ExecutionTest, PartialDerivTest) { +TEST_F(DxilConfTest, PartialDerivTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -3164,7 +3650,7 @@ void DerivativesTest_DebugOutput(Dispatch &D, #endif } -TEST_F(ExecutionTest, DerivativesTest) { +TEST_F(DxilConfTest, DerivativesTest) { const UINT pixelSize = 4; // always float4 WEX::TestExecution::SetVerifyOutput verifySettings( @@ -3249,7 +3735,7 @@ void VerifyQuadReadResults(const UINT *pPixels, UINT quadIndex) { } } -TEST_F(ExecutionTest, QuadReadTest) { +TEST_F(DxilConfTest, QuadReadTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -3397,7 +3883,7 @@ void VerifySampleResults(const UINT *pPixels, UINT width) { VERIFY_ARE_EQUAL(ylod, 6u); } -TEST_F(ExecutionTest, ComputeSampleTest) { +TEST_F(DxilConfTest, ComputeSampleTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -3516,7 +4002,7 @@ TEST_F(ExecutionTest, ComputeSampleTest) { } } -TEST_F(ExecutionTest, ATOWriteMSAATest) { +TEST_F(DxilConfTest, ATOWriteMSAATest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -3790,7 +4276,7 @@ void VerifyProgOffsetResults(unsigned *pPixels, bool bCheckDeriv) { // order The shader then uses non-immediate offsets extending from -9 to 8 to // access these using Load, Sample, SampleCmp and variants thereof. The test // verifies that the locations accessed correspond to where they should. -TEST_F(ExecutionTest, ATOProgOffset) { +TEST_F(DxilConfTest, ATOProgOffset) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -3927,7 +4413,7 @@ TEST_F(ExecutionTest, ATOProgOffset) { // A mipmapped texture containing the value of LOD at each location in each // level is used to sample at each level using SampleCmpLevel and confirm // that the correct level is used for the comparison. -TEST_F(ExecutionTest, ATOSampleCmpLevelTest) { +TEST_F(DxilConfTest, ATOSampleCmpLevelTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -4209,7 +4695,7 @@ struct FloatRGBE { }; template -struct RawFloatTexture : public ExecutionTest::RawGatherTexture { +struct RawFloatTexture : public DxilConfTest::RawGatherTexture { DXGI_FORMAT m_format; RGBAType RGBA[xdim * ydim]; RawFloatTexture(DXGI_FORMAT format) : m_format(format) {} @@ -4229,7 +4715,7 @@ struct RawFloatTexture : public ExecutionTest::RawGatherTexture { }; template -struct RawFloatR11G11B10ATexture : public ExecutionTest::RawGatherTexture { +struct RawFloatR11G11B10ATexture : public DxilConfTest::RawGatherTexture { FloatR11G11B10 RGBA[xdim * ydim]; // Set i'th element to floatified x,y and some derived values virtual void SetElement(int i, int x, int y) override { @@ -4245,7 +4731,7 @@ struct RawFloatR11G11B10ATexture : public ExecutionTest::RawGatherTexture { }; template -struct RawIntTexture : public ExecutionTest::RawGatherTexture { +struct RawIntTexture : public DxilConfTest::RawGatherTexture { bool m_isSigned; bool m_isNorm; unsigned m_maxVal; @@ -4293,7 +4779,7 @@ struct RawIntTexture : public ExecutionTest::RawGatherTexture { }; template -struct RawR10G10B10XRA2Texture : public ExecutionTest::RawGatherTexture { +struct RawR10G10B10XRA2Texture : public DxilConfTest::RawGatherTexture { unsigned m_maxVal; DXGI_FORMAT m_format; IntRGBA10XRA2UNORM RGBA[xdim * ydim]; @@ -4335,9 +4821,9 @@ struct RawR10G10B10XRA2Texture : public ExecutionTest::RawGatherTexture { // Then execute a shader that uses raw gather to copy the values // into a UAV Verify that the UAV has the same values as passed in. template -void ExecutionTest::DoRawGatherTest(ID3D12Device *pDevice, - RawGatherTexture *rawTex, - DXGI_FORMAT viewFormat) { +void DxilConfTest::DoRawGatherTest(ID3D12Device *pDevice, + RawGatherTexture *rawTex, + DXGI_FORMAT viewFormat) { DXGI_FORMAT resFormat = rawTex->GetFormat(); #ifdef RAWGATHER_FALLBACK @@ -4565,7 +5051,7 @@ void ExecutionTest::DoRawGatherTest(ID3D12Device *pDevice, // available 6.7 + Enh. Barriers - Same formats can be cast as in native, but // use new createcommittedresource3() 6.7 + Enh. Barriers + Relaxed Cast - All // format casting and raw gathering of all -TEST_F(ExecutionTest, ATORawGather) { +TEST_F(DxilConfTest, ATORawGather) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -4790,17 +5276,17 @@ TEST_F(ExecutionTest, ATORawGather) { // Executing a simple binop to verify shadel model 6.1 support; runs with // ShaderModel61.CoreRequirement -TEST_F(ExecutionTest, BasicShaderModel61) { +TEST_F(DxilConfTest, BasicShaderModel61) { RunBasicShaderModelTest(D3D_SHADER_MODEL_6_1); } // Executing a simple binop to verify shadel model 6.3 support; runs with // ShaderModel63.CoreRequirement -TEST_F(ExecutionTest, BasicShaderModel63) { +TEST_F(DxilConfTest, BasicShaderModel63) { RunBasicShaderModelTest(D3D_SHADER_MODEL_6_3); } -void ExecutionTest::RunBasicShaderModelTest(D3D_SHADER_MODEL shaderModel) { +void DxilConfTest::RunBasicShaderModelTest(D3D_SHADER_MODEL shaderModel) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -4871,34 +5357,34 @@ void ExecutionTest::RunBasicShaderModelTest(D3D_SHADER_MODEL shaderModel) { } template -const wchar_t *ExecutionTest::BasicShaderModelTest_GetFormatString() { +const wchar_t *DxilConfTest::BasicShaderModelTest_GetFormatString() { DXASSERT_NOMSG("Unsupported type"); return ""; } template <> -const wchar_t *ExecutionTest::BasicShaderModelTest_GetFormatString() { +const wchar_t *DxilConfTest::BasicShaderModelTest_GetFormatString() { return L"element #%u: input1 = %6.8f, input1 = %6.8f, output = %6.8f, " L"expected = %6.8f"; } template <> -const wchar_t *ExecutionTest::BasicShaderModelTest_GetFormatString() { +const wchar_t *DxilConfTest::BasicShaderModelTest_GetFormatString() { return BasicShaderModelTest_GetFormatString(); } template <> -const wchar_t *ExecutionTest::BasicShaderModelTest_GetFormatString() { +const wchar_t *DxilConfTest::BasicShaderModelTest_GetFormatString() { return L"element #%u: input1 = %ld, input1 = %ld, output = %ld, expected = " L"%ld"; } template -void ExecutionTest::RunBasicShaderModelTest(CComPtr pDevice, - const char *pShaderModelStr, - const char *pShader, - Ty *pInputDataPairs, - unsigned inputDataCount) { +void DxilConfTest::RunBasicShaderModelTest(CComPtr pDevice, + const char *pShaderModelStr, + const char *pShader, + Ty *pInputDataPairs, + unsigned inputDataCount) { struct SBinaryOp { Ty input1; Ty input2; @@ -5699,7 +6185,7 @@ bool VerifyArrayWithExpectedValue(T *arr, T *expected, size_t num_elements, return passed; }; -TEST_F(ExecutionTest, UnaryFloatOpTest) { +TEST_F(DxilConfTest, UnaryFloatOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -5762,7 +6248,7 @@ TEST_F(ExecutionTest, UnaryFloatOpTest) { } } -TEST_F(ExecutionTest, BinaryFloatOpTest) { +TEST_F(DxilConfTest, BinaryFloatOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -5852,7 +6338,7 @@ TEST_F(ExecutionTest, BinaryFloatOpTest) { } } -TEST_F(ExecutionTest, TertiaryFloatOpTest) { +TEST_F(DxilConfTest, TertiaryFloatOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -5925,7 +6411,7 @@ TEST_F(ExecutionTest, TertiaryFloatOpTest) { } } -TEST_F(ExecutionTest, UnaryHalfOpTest) { +TEST_F(DxilConfTest, UnaryHalfOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6000,7 +6486,7 @@ TEST_F(ExecutionTest, UnaryHalfOpTest) { } } -TEST_F(ExecutionTest, IsSpecialFloatHalfOpTest) { +TEST_F(DxilConfTest, IsSpecialFloatHalfOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6075,7 +6561,7 @@ TEST_F(ExecutionTest, IsSpecialFloatHalfOpTest) { } } -TEST_F(ExecutionTest, BinaryHalfOpTest) { +TEST_F(DxilConfTest, BinaryHalfOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6186,7 +6672,7 @@ TEST_F(ExecutionTest, BinaryHalfOpTest) { } } -TEST_F(ExecutionTest, TertiaryHalfOpTest) { +TEST_F(DxilConfTest, TertiaryHalfOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6272,7 +6758,7 @@ TEST_F(ExecutionTest, TertiaryHalfOpTest) { } } -TEST_F(ExecutionTest, UnaryIntOpTest) { +TEST_F(DxilConfTest, UnaryIntOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6332,7 +6818,7 @@ TEST_F(ExecutionTest, UnaryIntOpTest) { } } -TEST_F(ExecutionTest, UnaryUintOpTest) { +TEST_F(DxilConfTest, UnaryUintOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6392,7 +6878,7 @@ TEST_F(ExecutionTest, UnaryUintOpTest) { } } -TEST_F(ExecutionTest, BinaryIntOpTest) { +TEST_F(DxilConfTest, BinaryIntOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6482,7 +6968,7 @@ TEST_F(ExecutionTest, BinaryIntOpTest) { } } -TEST_F(ExecutionTest, TertiaryIntOpTest) { +TEST_F(DxilConfTest, TertiaryIntOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6552,7 +7038,7 @@ TEST_F(ExecutionTest, TertiaryIntOpTest) { } } -TEST_F(ExecutionTest, BinaryUintOpTest) { +TEST_F(DxilConfTest, BinaryUintOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6644,7 +7130,7 @@ TEST_F(ExecutionTest, BinaryUintOpTest) { } } -TEST_F(ExecutionTest, TertiaryUintOpTest) { +TEST_F(DxilConfTest, TertiaryUintOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6718,7 +7204,7 @@ TEST_F(ExecutionTest, TertiaryUintOpTest) { } // 16 bit integer type tests -TEST_F(ExecutionTest, UnaryInt16OpTest) { +TEST_F(DxilConfTest, UnaryInt16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6786,7 +7272,7 @@ TEST_F(ExecutionTest, UnaryInt16OpTest) { } } -TEST_F(ExecutionTest, UnaryUint16OpTest) { +TEST_F(DxilConfTest, UnaryUint16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6855,7 +7341,7 @@ TEST_F(ExecutionTest, UnaryUint16OpTest) { } } -TEST_F(ExecutionTest, BinaryInt16OpTest) { +TEST_F(DxilConfTest, BinaryInt16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -6953,7 +7439,7 @@ TEST_F(ExecutionTest, BinaryInt16OpTest) { } } -TEST_F(ExecutionTest, TertiaryInt16OpTest) { +TEST_F(DxilConfTest, TertiaryInt16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7030,7 +7516,7 @@ TEST_F(ExecutionTest, TertiaryInt16OpTest) { } } -TEST_F(ExecutionTest, BinaryUint16OpTest) { +TEST_F(DxilConfTest, BinaryUint16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7128,7 +7614,7 @@ TEST_F(ExecutionTest, BinaryUint16OpTest) { } } -TEST_F(ExecutionTest, TertiaryUint16OpTest) { +TEST_F(DxilConfTest, TertiaryUint16OpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7718,7 +8204,7 @@ void LoadStoreMat(int M, int N, bool LEFT, int MEM_TYPE, uint32_t K, uint32_t k, } } -TEST_F(ExecutionTest, DotTest) { +TEST_F(DxilConfTest, DotTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7802,7 +8288,7 @@ TEST_F(ExecutionTest, DotTest) { } } -TEST_F(ExecutionTest, Dot2AddHalfTest) { +TEST_F(DxilConfTest, Dot2AddHalfTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7890,7 +8376,7 @@ TEST_F(ExecutionTest, Dot2AddHalfTest) { } } -TEST_F(ExecutionTest, Dot4AddI8PackedTest) { +TEST_F(DxilConfTest, Dot4AddI8PackedTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -7953,7 +8439,7 @@ TEST_F(ExecutionTest, Dot4AddI8PackedTest) { } } -TEST_F(ExecutionTest, Dot4AddU8PackedTest) { +TEST_F(DxilConfTest, Dot4AddU8PackedTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -8016,7 +8502,7 @@ TEST_F(ExecutionTest, Dot4AddU8PackedTest) { } } -TEST_F(ExecutionTest, Msad4Test) { +TEST_F(DxilConfTest, Msad4Test) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -8098,7 +8584,7 @@ TEST_F(ExecutionTest, Msad4Test) { } } -TEST_F(ExecutionTest, DenormBinaryFloatOpTest) { +TEST_F(DxilConfTest, DenormBinaryFloatOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -8209,7 +8695,7 @@ TEST_F(ExecutionTest, DenormBinaryFloatOpTest) { } } -TEST_F(ExecutionTest, DenormTertiaryFloatOpTest) { +TEST_F(DxilConfTest, DenormTertiaryFloatOpTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -8626,7 +9112,7 @@ static OutType computeExpectedWithShaderOp(const std::vector &inputs, // This test case is assuming that functions 1) WaveIsFirstLane and 2) // WaveGetLaneIndex are correct for all lanes. template -void ExecutionTest::WaveIntrinsicsActivePrefixTest( +void DxilConfTest::WaveIntrinsicsActivePrefixTest( TableParameter *pParameterList, size_t numParameter, bool isPrefix) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -8808,28 +9294,28 @@ void ExecutionTest::WaveIntrinsicsActivePrefixTest( } } -TEST_F(ExecutionTest, WaveIntrinsicsActiveIntTest) { +TEST_F(DxilConfTest, WaveIntrinsicsActiveIntTest) { WaveIntrinsicsActivePrefixTest( WaveIntrinsicsActiveIntParameters, sizeof(WaveIntrinsicsActiveIntParameters) / sizeof(TableParameter), /*isPrefix*/ false); } -TEST_F(ExecutionTest, WaveIntrinsicsActiveUintTest) { +TEST_F(DxilConfTest, WaveIntrinsicsActiveUintTest) { WaveIntrinsicsActivePrefixTest( WaveIntrinsicsActiveUintParameters, sizeof(WaveIntrinsicsActiveUintParameters) / sizeof(TableParameter), /*isPrefix*/ false); } -TEST_F(ExecutionTest, WaveIntrinsicsPrefixIntTest) { +TEST_F(DxilConfTest, WaveIntrinsicsPrefixIntTest) { WaveIntrinsicsActivePrefixTest( WaveIntrinsicsPrefixIntParameters, sizeof(WaveIntrinsicsPrefixIntParameters) / sizeof(TableParameter), /*isPrefix*/ true); } -TEST_F(ExecutionTest, WaveIntrinsicsPrefixUintTest) { +TEST_F(DxilConfTest, WaveIntrinsicsPrefixUintTest) { WaveIntrinsicsActivePrefixTest( WaveIntrinsicsPrefixUintParameters, sizeof(WaveIntrinsicsPrefixUintParameters) / sizeof(TableParameter), @@ -8891,7 +9377,7 @@ std::function GetWaveMultiPrefixReferenceFunction(LPCWSTR testName) { } template -void ExecutionTest::WaveIntrinsicsMultiPrefixOpTest( +void DxilConfTest::WaveIntrinsicsMultiPrefixOpTest( TableParameter *pParameterList, size_t numParameters) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -9027,19 +9513,19 @@ void ExecutionTest::WaveIntrinsicsMultiPrefixOpTest( } } -TEST_F(ExecutionTest, WaveIntrinsicsSM65IntTest) { +TEST_F(DxilConfTest, WaveIntrinsicsSM65IntTest) { WaveIntrinsicsMultiPrefixOpTest( WaveIntrinsicsMultiPrefixIntParameters, _countof(WaveIntrinsicsMultiPrefixIntParameters)); } -TEST_F(ExecutionTest, WaveIntrinsicsSM65UintTest) { +TEST_F(DxilConfTest, WaveIntrinsicsSM65UintTest) { WaveIntrinsicsMultiPrefixOpTest( WaveIntrinsicsMultiPrefixUintParameters, _countof(WaveIntrinsicsMultiPrefixUintParameters)); } -TEST_F(ExecutionTest, CBufferTestHalf) { +TEST_F(DxilConfTest, CBufferTestHalf) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -9169,7 +9655,7 @@ MakeBarycentricsResourceInitCallbackFn(int &vertexShift) { }; } -TEST_F(ExecutionTest, BarycentricsTest) { +TEST_F(DxilConfTest, BarycentricsTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -9327,7 +9813,7 @@ static const char RawBufferTestGraphicsPixelShaderTemplate[] = " return uint4(1, 2, 3, 4); \r\n" "};"; -TEST_F(ExecutionTest, ComputeRawBufferLdStI32) { +TEST_F(DxilConfTest, ComputeRawBufferLdStI32) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -10517, 980}, {465, 13, -89, MAXUINT32 / 2}}; RunComputeRawBufferLdStTest(D3D_SHADER_MODEL_6_2, @@ -9335,7 +9821,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStI32) { "ComputeRawBufferLdSt32Bit", data); } -TEST_F(ExecutionTest, ComputeRawBufferLdStFloat) { +TEST_F(DxilConfTest, ComputeRawBufferLdStFloat) { RawBufferLdStTestData data = { 3e-10f, {1.5f, -1.99988f}, @@ -9346,7 +9832,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStFloat) { "ComputeRawBufferLdSt32Bit", data); } -TEST_F(ExecutionTest, ComputeRawBufferLdStI64) { +TEST_F(DxilConfTest, ComputeRawBufferLdStI64) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -105171532, 980}, {465, 13, -89, MAXUINT64 / 2}}; RunComputeRawBufferLdStTest(D3D_SHADER_MODEL_6_3, @@ -9354,7 +9840,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStI64) { "ComputeRawBufferLdSt64Bit", data); } -TEST_F(ExecutionTest, ComputeRawBufferLdStDouble) { +TEST_F(DxilConfTest, ComputeRawBufferLdStDouble) { RawBufferLdStTestData data = { 3e-10, {1.5, -1.99988}, @@ -9365,7 +9851,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStDouble) { "ComputeRawBufferLdSt64Bit", data); } -TEST_F(ExecutionTest, ComputeRawBufferLdStI16) { +TEST_F(DxilConfTest, ComputeRawBufferLdStI16) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -10517, 980}, {465, 13, -89, MAXUINT16 / 2}}; RunComputeRawBufferLdStTest(D3D_SHADER_MODEL_6_2, @@ -9373,7 +9859,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStI16) { "ComputeRawBufferLdSt16Bit", data); } -TEST_F(ExecutionTest, ComputeRawBufferLdStHalf) { +TEST_F(DxilConfTest, ComputeRawBufferLdStHalf) { RawBufferLdStTestData floatData = { 3e-10f, {1.5f, -1.99988f}, @@ -9389,7 +9875,7 @@ TEST_F(ExecutionTest, ComputeRawBufferLdStHalf) { "ComputeRawBufferLdSt16Bit", halfData); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStI32) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStI32) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -10517, 980}, {465, 13, -89, MAXUINT32 / 2}}; RunGraphicsRawBufferLdStTest(D3D_SHADER_MODEL_6_2, @@ -9397,7 +9883,7 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStI32) { "GraphicsRawBufferLdSt32Bit", data); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStFloat) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStFloat) { RawBufferLdStTestData data = { 3e-10f, {1.5f, -1.99988f}, @@ -9408,7 +9894,7 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStFloat) { "GraphicsRawBufferLdSt32Bit", data); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStI64) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStI64) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -105171532, 980}, {465, 13, -89, MAXUINT64 / 2}}; RunGraphicsRawBufferLdStTest(D3D_SHADER_MODEL_6_3, @@ -9416,7 +9902,7 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStI64) { "GraphicsRawBufferLdSt64Bit", data); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStDouble) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStDouble) { RawBufferLdStTestData data = { 3e-10, {1.5, -1.99988}, @@ -9427,7 +9913,7 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStDouble) { "GraphicsRawBufferLdSt64Bit", data); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStI16) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStI16) { RawBufferLdStTestData data = { 1, {2, -1}, {256, -10517, 980}, {465, 13, -89, MAXUINT16 / 2}}; RunGraphicsRawBufferLdStTest(D3D_SHADER_MODEL_6_2, @@ -9435,7 +9921,7 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStI16) { "GraphicsRawBufferLdSt16Bit", data); } -TEST_F(ExecutionTest, GraphicsRawBufferLdStHalf) { +TEST_F(DxilConfTest, GraphicsRawBufferLdStHalf) { RawBufferLdStTestData floatData = { 3e-10f, {1.5f, -1.99988f}, @@ -9451,12 +9937,12 @@ TEST_F(ExecutionTest, GraphicsRawBufferLdStHalf) { "GraphicsRawBufferLdSt16Bit", halfData); } -bool ExecutionTest::SetupRawBufferLdStTest(D3D_SHADER_MODEL shaderModel, - RawBufferLdStType dataType, - CComPtr &pDevice, - CComPtr &pStream, - const char *&sTy, - const char *&additionalOptions) { +bool DxilConfTest::SetupRawBufferLdStTest(D3D_SHADER_MODEL shaderModel, + RawBufferLdStType dataType, + CComPtr &pDevice, + CComPtr &pStream, + const char *&sTy, + const char *&additionalOptions) { if (!createDevice(&pDevice, shaderModel)) { return false; } @@ -9508,7 +9994,7 @@ bool ExecutionTest::SetupRawBufferLdStTest(D3D_SHADER_MODEL shaderModel, } template -void ExecutionTest::VerifyRawBufferLdStTestResults( +void DxilConfTest::VerifyRawBufferLdStTestResults( const std::shared_ptr test, const RawBufferLdStTestData &testData) { // read buffers back & verify expected values @@ -9561,7 +10047,7 @@ void ExecutionTest::VerifyRawBufferLdStTestResults( } template -void ExecutionTest::RunComputeRawBufferLdStTest( +void DxilConfTest::RunComputeRawBufferLdStTest( D3D_SHADER_MODEL shaderModel, RawBufferLdStType dataType, const char *shaderOpName, const RawBufferLdStTestData &testData) { WEX::TestExecution::SetVerifyOutput verifySettings( @@ -9614,7 +10100,7 @@ void ExecutionTest::RunComputeRawBufferLdStTest( } template -void ExecutionTest::RunGraphicsRawBufferLdStTest( +void DxilConfTest::RunGraphicsRawBufferLdStTest( D3D_SHADER_MODEL shaderModel, RawBufferLdStType dataType, const char *shaderOpName, const RawBufferLdStTestData &testData) { @@ -9727,7 +10213,7 @@ template std::array unpack_s(uint32_t packedVal) { return ret; } -TEST_F(ExecutionTest, PackUnpackTest) { +TEST_F(DxilConfTest, PackUnpackTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -9910,8 +10396,8 @@ TEST_F(ExecutionTest, PackUnpackTest) { // few resources that are initialized here. determines if it uses // the 6.6 Dynamic Resources feature. Values are read back from the result UAV // and compared to the expected signals -void ExecutionTest::RunResourceTest(ID3D12Device *pDevice, const char *pShader, - const wchar_t *sm, bool isDynamic) { +void DxilConfTest::RunResourceTest(ID3D12Device *pDevice, const char *pShader, + const wchar_t *sm, bool isDynamic) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10102,7 +10588,7 @@ void ExecutionTest::RunResourceTest(ID3D12Device *pDevice, const char *pShader, VERIFY_ARE_EQUAL(pData[7], 1); // samplecmp 1 means it matched 31 } -TEST_F(ExecutionTest, SignatureResourcesTest) { +TEST_F(DxilConfTest, SignatureResourcesTest) { std::string pShader = "ByteAddressBuffer g_rawBuf : register(t0);\n" "StructuredBuffer g_structBuf : register(t1);\n" @@ -10132,7 +10618,7 @@ TEST_F(ExecutionTest, SignatureResourcesTest) { RunResourceTest(pDevice, pShader.c_str(), L"cs_6_6", /*isDynamic*/ false); } -TEST_F(ExecutionTest, DynamicResourcesTest) { +TEST_F(DxilConfTest, DynamicResourcesTest) { static const char pShader[] = "static ByteAddressBuffer g_rawBuf = " "ResourceDescriptorHeap[0];\n" @@ -10184,7 +10670,7 @@ TEST_F(ExecutionTest, DynamicResourcesTest) { RunResourceTest(pDevice, pShader, L"cs_6_6", /*isDynamic*/ true); } -// void ExecutionTest::TestComputeShaderDynamicResourcesUniformIndexing() +// void DxilConfTest::TestComputeShaderDynamicResourcesUniformIndexing() void EnableShaderBasedValidation() { CComPtr spDebugController0; @@ -10203,7 +10689,7 @@ void VerifyFloatArraysAreEqual(const float *resultFloats, } } -TEST_F(ExecutionTest, DynamicResourcesDynamicIndexingTest) { +TEST_F(DxilConfTest, DynamicResourcesDynamicIndexingTest) { // EnableShaderBasedValidation(); WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10545,7 +11031,7 @@ void RunWaveSizeRangeTest(UINT minWaveSize, UINT maxWaveSize, } } -void ExecutionTest::WaveSizeTest() { +void DxilConfTest::WaveSizeTest() { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10585,7 +11071,7 @@ void ExecutionTest::WaveSizeTest() { RunWaveSizeTest(minWaveSize, maxWaveSize, ShaderOpSet, pDevice, m_support); } -void ExecutionTest::WaveSizeRangeTest() { +void DxilConfTest::WaveSizeRangeTest() { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10678,7 +11164,7 @@ static void RunGSMLimitShaderAndVerify( } } -void ExecutionTest::GroupSharedLimitTest() { +void DxilConfTest::GroupSharedLimitTest() { WEX::TestExecution::SetVerifyOutput VerifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10799,7 +11285,7 @@ void ExecutionTest::GroupSharedLimitTest() { } } -void ExecutionTest::GroupSharedLimitASTest() { +void DxilConfTest::GroupSharedLimitASTest() { WEX::TestExecution::SetVerifyOutput VerifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10875,7 +11361,7 @@ void ExecutionTest::GroupSharedLimitASTest() { } } -void ExecutionTest::GroupSharedLimitMSTest() { +void DxilConfTest::GroupSharedLimitMSTest() { WEX::TestExecution::SetVerifyOutput VerifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -10943,7 +11429,7 @@ void ExecutionTest::GroupSharedLimitMSTest() { } #endif // defined(HLSLEXEC_GROUPSHARED_LIMITS) -void ExecutionTest::GroupWaveIndexTest() { +void DxilConfTest::GroupWaveIndexTest() { WEX::TestExecution::SetVerifyOutput VerifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); @@ -11487,7 +11973,7 @@ void VerifyAtomicsTest(std::shared_ptr test, VerifyAtomicsTypedTest(test, maxIdx, bitSize); } -TEST_F(ExecutionTest, AtomicsTest) { +TEST_F(DxilConfTest, AtomicsTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11532,7 +12018,7 @@ TEST_F(ExecutionTest, AtomicsTest) { VerifyAtomicsTest(test, 64 * 64 + 6, 32); } -TEST_F(ExecutionTest, Atomics64Test) { +TEST_F(DxilConfTest, Atomics64Test) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11588,7 +12074,7 @@ TEST_F(ExecutionTest, Atomics64Test) { VerifyAtomicsRawTest(test, 64 * 64 + 6, 64); } -TEST_F(ExecutionTest, AtomicsRawHeap64Test) { +TEST_F(DxilConfTest, AtomicsRawHeap64Test) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11651,7 +12137,7 @@ TEST_F(ExecutionTest, AtomicsRawHeap64Test) { VerifyAtomicsRawTest(test, 64 * 64 + 6, 64); } -TEST_F(ExecutionTest, AtomicsTyped64Test) { +TEST_F(DxilConfTest, AtomicsTyped64Test) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11714,7 +12200,7 @@ TEST_F(ExecutionTest, AtomicsTyped64Test) { VerifyAtomicsTypedTest(test, 64 * 64 + 6, 64); } -TEST_F(ExecutionTest, AtomicsShared64Test) { +TEST_F(DxilConfTest, AtomicsShared64Test) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11846,7 +12332,7 @@ void VerifyAtomicsFloatTest(std::shared_ptr test) { VerifyAtomicFloatResults(pData); } -TEST_F(ExecutionTest, AtomicsFloatTest) { +TEST_F(DxilConfTest, AtomicsFloatTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -11911,7 +12397,7 @@ TEST_F(ExecutionTest, AtomicsFloatTest) { // IsHelperLane fallback function (sm <= 6.5) and the IsHelperLane intrisics (sm // >= 6.6). // -TEST_F(ExecutionTest, HelperLaneTest) { +TEST_F(DxilConfTest, HelperLaneTest) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -12312,7 +12798,7 @@ void CleanUAVBuffer0Buffer(LPCSTR BufferName, std::vector &Data, // operate correctly with 3 threads in a CS or 3 vertices in a VS where the rest // of the lanes in the wave are not active (dead lanes). // -TEST_F(ExecutionTest, HelperLaneTestWave) { +TEST_F(DxilConfTest, HelperLaneTestWave) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -12455,7 +12941,7 @@ bool VerifyQuadAnyAllResults(int2 *Res) { return true; } -TEST_F(ExecutionTest, QuadAnyAll) { +TEST_F(DxilConfTest, QuadAnyAll) { WEX::TestExecution::SetVerifyOutput verifySettings( WEX::TestExecution::VerifyOutputSettings::LogOnlyFailures); CComPtr pStream; @@ -12879,5 +13365,3 @@ __declspec(dllexport) HRESULT WINAPI } } #endif -// MARKER: ExecutionTest/DxilConf Shared Implementation End -// Do not remove the line above - it is used by TranslateExecutionTest.py diff --git a/tools/clang/unittests/HLSLExec/ShaderOpArithTable.xml b/tools/clang/unittests/HLSLExec/ShaderOpArithTable.xml index 9f2425853cf..cedb72c08fe 100644 --- a/tools/clang/unittests/HLSLExec/ShaderOpArithTable.xml +++ b/tools/clang/unittests/HLSLExec/ShaderOpArithTable.xml @@ -11,7 +11,11 @@ String unsigned int - + Epsilon 0.0008 struct SUnaryFPOp { @@ -50,7 +54,11 @@ 16202 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -89,7 +97,11 @@ 16202 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -127,7 +139,11 @@ 0.000735 - + Epsilon 0 struct SUnaryFPOp { @@ -177,7 +193,11 @@ -11.0 - + Epsilon 0 struct SUnaryFPOp { @@ -229,7 +249,11 @@ -11.0 - + Epsilon 0 struct SUnaryFPOp { @@ -279,7 +303,11 @@ -10.0 - + Epsilon 0 struct SUnaryFPOp { @@ -320,7 +348,11 @@ 0 - + Relative 21 struct SUnaryFPOp { @@ -358,7 +390,11 @@ 22026.46579 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -400,7 +436,11 @@ 0.611 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -442,7 +482,11 @@ NaN - + Relative 21 struct SUnaryFPOp { @@ -484,7 +528,11 @@ 4.6051701 - + ulp 1 struct SUnaryFPOp { @@ -526,7 +574,11 @@ 16.0 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -564,7 +616,11 @@ 1.543081 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -606,7 +662,11 @@ NaN - + Epsilon 0 struct SUnaryFPOp { @@ -656,7 +716,11 @@ -10.0 - + Epsilon 0 struct SUnaryFPOp { @@ -698,7 +762,11 @@ 16202 - + Epsilon 0 struct SUnaryFPOp { @@ -739,7 +807,11 @@ 0 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -777,7 +849,11 @@ -1.175201 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -815,7 +891,11 @@ 0.0007346401 - + ulp 1 struct SUnaryFPOp { @@ -857,7 +937,11 @@ 0.00390625 - + Epsilon 0.0008 struct SUnaryFPOp { @@ -895,7 +979,11 @@ 0.99999973015 - + Epsilon 0 struct SUnaryFPOp { @@ -946,7 +1034,11 @@ String String - + ulp 1 struct SBinaryFPOp { @@ -979,7 +1071,11 @@ 2.0000002 - + ulp 1 struct SBinaryFPOp { @@ -1015,7 +1111,11 @@ 1.5000002000 - + ulp 1 struct SBinaryFPOp { @@ -1048,7 +1148,11 @@ 0.50000006 - + epsilon 0 struct SBinaryFPOp { @@ -1143,7 +1247,11 @@ 1.0 - + ulp 1 struct SBinaryFPOp { @@ -1192,7 +1300,11 @@ String String - + ulp 1 struct STertiaryFloatOp { @@ -1278,7 +1390,11 @@ String unsigned int - + Epsilon 0 struct SUnaryFPOp { @@ -1320,7 +1436,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1363,7 +1483,11 @@ 16202 -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1417,7 +1541,11 @@ String unsigned int - + Epsilon 0 struct SUnaryFPOp { @@ -1470,7 +1598,11 @@ -enable-16bit-types - + Epsilon 0.016 struct SUnaryFPOp { @@ -1523,7 +1655,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1574,7 +1710,11 @@ -enable-16bit-types - + Epsilon 0.0008 struct SUnaryFPOp { @@ -1614,7 +1754,11 @@ 16202 -enable-16bit-types - + Epsilon 0.0010 struct SUnaryFPOp { @@ -1657,7 +1801,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1708,7 +1856,11 @@ -enable-16bit-types - + Epsilon 0.003 struct SUnaryFPOp { @@ -1763,7 +1915,11 @@ -enable-16bit-types - + Epsilon 0.0008 struct SUnaryFPOp { @@ -1802,7 +1958,11 @@ -enable-16bit-types - + ulp 2 struct SUnaryFPOp { @@ -1841,7 +2001,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1892,7 +2056,11 @@ -enable-16bit-types - + Epsilon 0.0008 struct SUnaryFPOp { @@ -1933,7 +2101,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryFPOp { @@ -1972,7 +2144,11 @@ -enable-16bit-types - + Epsilon 0.0008 struct SUnaryFPOp { @@ -2015,7 +2191,11 @@ -enable-16bit-types - + Epsilon 0.003 struct SUnaryFPOp { @@ -2070,7 +2250,11 @@ -enable-16bit-types - + Epsilon 0.0008 struct SUnaryFPOp { @@ -2110,7 +2294,11 @@ 16202 -enable-16bit-types - + ulp 1 struct SUnaryFPOp { @@ -2153,7 +2341,11 @@ -enable-16bit-types - + ulp 1 struct SUnaryFPOp { @@ -2209,7 +2401,11 @@ String String - + ulp 1 struct SBinaryFPOp { @@ -2243,7 +2439,11 @@ -enable-16bit-types - + epsilon 0 struct SBinaryHalfOp { @@ -2339,7 +2539,11 @@ -enable-16bit-types - + ulp 1 struct SBinaryFPOp { @@ -2373,7 +2577,11 @@ -enable-16bit-types - + ulp 1 struct SBinaryFPOp { @@ -2410,7 +2618,11 @@ -enable-16bit-types - + ulp 1 struct SBinaryFPOp { @@ -2460,7 +2672,11 @@ String String - + ulp 1 struct STertiaryHalfOp { @@ -2542,7 +2758,11 @@ String String - + Epsilon 0 struct SUnaryIntOp { @@ -2580,7 +2800,11 @@ 0 - + Epsilon 0 struct SUnaryIntOp { @@ -2618,7 +2842,11 @@ 30 - + Epsilon 0 struct SUnaryIntOp { @@ -2656,7 +2884,11 @@ 31 - + Epsilon 0 struct SUnaryIntOp { @@ -2707,7 +2939,11 @@ String String - + Epsilon 0 struct SBinaryIntOp { @@ -2758,7 +2994,11 @@ 1 - + Epsilon 0 struct SBinaryIntOp { @@ -2803,7 +3043,11 @@ -8 - + Epsilon 0 struct SBinaryIntOp { @@ -2854,7 +3098,11 @@ -1 - + Epsilon 0 struct SBinaryIntOp { @@ -2899,7 +3147,11 @@ 0x3fffffff - + Epsilon 0 struct SBinaryIntOp { @@ -2944,7 +3196,11 @@ -53752 - + Epsilon 0 struct SBinaryIntOp { @@ -2999,7 +3255,11 @@ 0 - + Epsilon 0 struct SBinaryIntOp { @@ -3044,7 +3304,11 @@ 54724 - + Epsilon 0 struct SBinaryIntOp { @@ -3092,7 +3356,11 @@ -1 - + Epsilon 0 struct SBinaryIntOp { @@ -3134,7 +3402,11 @@ 0 - + Epsilon 0 struct SBinaryIntOp { @@ -3176,7 +3448,11 @@ 2147483647 - + Epsilon 0 struct SBinaryIntOp { @@ -3240,7 +3516,11 @@ String String - + epsilon 0 struct STertiaryIntOp { @@ -3325,7 +3605,11 @@ String String - + Epsilon 0 struct SUnaryInt16Op { @@ -3364,7 +3648,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryInt16Op { @@ -3403,7 +3691,11 @@ -enable-16bit-types - + Epsilon 0 struct SUnaryInt16Op { @@ -3455,7 +3747,11 @@ String String - + Epsilon 0 struct SBinaryInt16Op { @@ -3507,7 +3803,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3556,7 +3856,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryUint16Op { @@ -3596,7 +3900,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3639,7 +3947,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryUint16Op { @@ -3685,7 +3997,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3728,7 +4044,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryUint16Op { @@ -3774,7 +4094,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3820,7 +4144,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3857,7 +4185,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3900,7 +4232,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3943,7 +4279,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -3989,7 +4329,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryInt16Op { @@ -4051,7 +4395,11 @@ String String - + epsilon 0 struct STertiaryInt16Op { @@ -4121,7 +4469,11 @@ String String - + Epsilon 0 struct SUnaryUintOp { @@ -4166,7 +4518,11 @@ String String - + Epsilon 0 struct SBinaryUintOp { @@ -4211,7 +4567,11 @@ 486 - + Epsilon 0 struct SBinaryUintOp { @@ -4250,7 +4610,11 @@ 0 - + Epsilon 0 struct SBinaryUintOp { @@ -4303,7 +4667,11 @@ 0xffffffff - + Epsilon 0 struct SBinaryUintOp { @@ -4345,7 +4713,11 @@ 4294967295 - + Epsilon 0 struct SBinaryUintOp { @@ -4387,7 +4759,11 @@ 4294967295 - + Epsilon 0 struct SBinaryUintOp { @@ -4432,7 +4808,11 @@ 54724 - + Epsilon 0 struct SBinaryUintOp { @@ -4500,7 +4880,11 @@ String String - + epsilon 0 struct STertiaryUintOp { @@ -4565,7 +4949,11 @@ String String - + Epsilon 0 struct SUnaryUint16Op { @@ -4607,7 +4995,11 @@ String String - + Epsilon 0 struct SBinaryUint16Op { @@ -4650,7 +5042,11 @@ -enable-16bit-types - + Epsilon 0 struct SBinaryUint16Op { @@ -4706,7 +5102,11 @@ String String - + epsilon 0 struct STertiaryUint16Op { @@ -4775,7 +5175,11 @@ String String - + epsilon 0.008 struct SDotOp { @@ -4869,7 +5273,11 @@ String String - + epsilon 0.008 struct SDot2AddHalfOp { @@ -4973,7 +5381,11 @@ String String - + epsilon 0 struct SDot4AddI8PackedOp { @@ -5052,7 +5464,11 @@ String String - + epsilon 0 struct SDot4AddU8PackedOp { @@ -5108,7 +5524,11 @@ String String - + epsilon 0 struct SMsad4 { @@ -5161,7 +5581,11 @@ String String - + WaveActiveSum struct PerThreadData { uint firstLaneId; @@ -5201,7 +5625,11 @@ -64 - + WaveActiveAllEqual struct PerThreadData { uint firstLaneId; @@ -5242,7 +5670,11 @@ -10 - + WaveActiveAnyTrue struct PerThreadData { uint firstLaneId; @@ -5280,7 +5712,11 @@ 0 - + WaveActiveMax struct PerThreadData { uint firstLaneId; @@ -5325,7 +5761,11 @@ 300 - + WaveActiveMin struct PerThreadData { uint firstLaneId; @@ -5376,7 +5816,11 @@ 300 - + WaveActiveAllTrue struct PerThreadData { uint firstLaneId; @@ -5414,7 +5858,11 @@ 1 - + WaveActiveCountBits struct PerThreadData { uint firstLaneId; @@ -5459,7 +5907,11 @@ 300 - + WaveActiveProduct struct PerThreadData { uint firstLaneId; @@ -5510,7 +5962,11 @@ String String - + WaveActiveUMax struct PerThreadData { uint firstLaneId; @@ -5550,7 +6006,11 @@ 64 - + WaveActiveBitOr struct PerThreadData { uint firstLaneId; @@ -5601,7 +6061,11 @@ 0xffffffff - + WaveActiveBitAnd struct PerThreadData { uint firstLaneId; @@ -5652,7 +6116,11 @@ 0xffffffff - + WaveActiveUMin struct PerThreadData { uint firstLaneId; @@ -5698,7 +6166,11 @@ 64 - + WaveActiveUSum struct PerThreadData { uint firstLaneId; @@ -5738,7 +6210,11 @@ 64 - + WaveActiveBitXor struct PerThreadData { uint firstLaneId; @@ -5789,7 +6265,11 @@ 0xffffffff - + WaveActiveUProduct struct PerThreadData { uint firstLaneId; @@ -5840,7 +6320,11 @@ String String - + WavePrefixProduct struct PerThreadData { uint firstLaneId; @@ -5883,7 +6367,11 @@ 128 - + WavePrefixSum struct PerThreadData { uint firstLaneId; @@ -5926,7 +6414,11 @@ 128 - + WavePrefixCountBits struct PerThreadData { uint firstLaneId; @@ -5983,7 +6475,11 @@ String String - + WavePrefixUSum struct PerThreadData { uint firstLaneId; @@ -6025,7 +6521,11 @@ 128 - + WavePrefixUProduct struct PerThreadData { uint firstLaneId; @@ -6075,7 +6575,11 @@ String String - + WaveMultiPrefixBitXor cs_6_5 struct ThreadData { @@ -6123,7 +6627,11 @@ 34 - + WaveMultiPrefixCountBits cs_6_5 struct ThreadData { @@ -6171,7 +6679,11 @@ 34 - + WaveMultiPrefixSum cs_6_5 struct ThreadData { @@ -6219,7 +6731,11 @@ 34 - + WaveMultiPrefixBitAnd cs_6_5 struct ThreadData { @@ -6267,7 +6783,11 @@ 34 - + WaveMultiPrefixBitOr cs_6_5 struct ThreadData { @@ -6315,7 +6835,11 @@ 34 - + WaveMultiPrefixProduct cs_6_5 struct ThreadData { @@ -6371,7 +6895,11 @@ String String - + WaveMultiPrefixUBitAnd cs_6_5 struct ThreadData { @@ -6419,7 +6947,11 @@ 34 - + WaveMultiPrefixUBitOr cs_6_5 struct ThreadData { @@ -6467,7 +6999,11 @@ 34 - + WaveMultiPrefixUSum cs_6_5 struct ThreadData { @@ -6515,7 +7051,11 @@ 34 - + WaveMultiPrefixUProduct cs_6_5 struct ThreadData { @@ -6563,7 +7103,11 @@ 34 - + WaveMultiPrefixUBitXor cs_6_5 struct ThreadData { @@ -6611,7 +7155,11 @@ 34 - + WaveMultiPrefixUCountBits cs_6_5 struct ThreadData { @@ -6672,7 +7220,11 @@ String String - + ulp 1 struct SBinaryFPOp { @@ -6709,7 +7261,11 @@ -denorm ftz - + ulp 1 struct SBinaryFPOp { @@ -6752,7 +7308,11 @@ -denorm any - + ulp 1 struct SBinaryFPOp { @@ -6799,7 +7359,11 @@ -denorm any - + ulp 1 struct SBinaryFPOp { @@ -6842,7 +7406,11 @@ -denorm any - + ulp 1 struct SBinaryFPOp { @@ -6882,7 +7450,11 @@ -denorm ftz - + ulp 1 struct SBinaryFPOp { @@ -6919,7 +7491,11 @@ -denorm ftz - + ulp 1 struct SBinaryFPOp { @@ -6956,7 +7532,11 @@ -denorm preserve - + ulp 1 struct SBinaryFPOp { @@ -6993,7 +7573,11 @@ -denorm ftz - + ulp 1 struct SBinaryFPOp { @@ -7030,7 +7614,11 @@ -denorm preserve - + ulp 1 struct SBinaryFPOp { @@ -7073,7 +7661,11 @@ -denorm any - + ulp 1 struct SBinaryFPOp { @@ -7110,7 +7702,11 @@ -denorm preserve - + ulp 1 struct SBinaryFPOp { @@ -7164,7 +7760,11 @@ String String - + ulp 1 struct STertiaryFloatOp { @@ -7203,7 +7803,11 @@ -denorm preserve - + ulp 1 struct STertiaryFloatOp { @@ -7247,7 +7851,11 @@ -denorm any - + ulp 1 struct STertiaryFloatOp { @@ -7294,7 +7902,11 @@ uint String - + ulp 0 diff --git a/tools/clang/unittests/HLSLExec/TableParameterHandler.h b/tools/clang/unittests/HLSLExec/TableParameterHandler.h index ad99187ebbd..7871fe964c5 100644 --- a/tools/clang/unittests/HLSLExec/TableParameterHandler.h +++ b/tools/clang/unittests/HLSLExec/TableParameterHandler.h @@ -2,12 +2,8 @@ #define TABLE_PARAMETER_HANDLER_H #include -#ifdef _HLK_CONF -#include "DxilConfTestUtils.h" -#else #include "HlslTestUtils.h" #include "dxc/Support/Global.h" -#endif // Parameter representation for taef data-driven tests struct TableParameter { diff --git a/utils/hct/hcttest.cmd b/utils/hct/hcttest.cmd index eebc531c915..36dc9fc6bfd 100644 --- a/utils/hct/hcttest.cmd +++ b/utils/hct/hcttest.cmd @@ -29,7 +29,7 @@ set TEST_EXTRAS=0 set TEST_EXEC_REQUIRED=0 set TEST_USE_LIT=1 set TEST_CLANG_FILTER= -set TEST_EXEC_FILTER=ExecutionTest::* +set TEST_EXEC_FILTER=DxilConfTest::* set LOG_FILTER=/logOutput:LowWithConsoleBuffering set TEST_COMPAT_SUITE=0 set MANUAL_FILE_CHECK_PATH= @@ -145,7 +145,7 @@ if "%1"=="-clean" ( set TEST_EXEC=1 set TEST_USE_LIT=0 echo Fallback to taef when use taef only options. - set TEST_EXEC_FILTER=ExecutionTest::%2 + set TEST_EXEC_FILTER=DxilConfTest::%2 set TEST_EXEC_REQUIRED=1 shift /1 ) else if "%1"=="exec-future" ( @@ -161,7 +161,7 @@ if "%1"=="-clean" ( set TEST_USE_LIT=0 echo Fallback to taef when use taef only options. set TEST_EXEC_FUTURE=1 - set TEST_EXEC_FILTER=ExecutionTest::%2 + set TEST_EXEC_FILTER=DxilConfTest::%2 set TEST_EXEC_REQUIRED=1 shift /1 ) else if "%1"=="extras" ( @@ -457,7 +457,7 @@ if "%TEST_EXEC%"=="1" ( set EXEC_COMMON_ARGS=/p:"ExperimentalShaders=*" %TEST_ADAPTER% %USE_AGILITY_SDK% if "%TEST_EXEC%"=="1" ( echo Sniffing for D3D12 configuration ... - call :runte ExecHLSLTests.dll /select:"@Name='ExecutionTest::BasicTriangleTest' AND @Architecture='%TEST_ARCH%'" %EXEC_COMMON_ARGS% + call :runte ExecHLSLTests.dll /select:"@Name='DxilConfTest::BasicTriangleTest' AND @Architecture='%TEST_ARCH%'" %EXEC_COMMON_ARGS% set RES_EXEC=!ERRORLEVEL! if errorlevel 1 ( if not "%TEST_EXEC_REQUIRED%"=="1" (