@@ -224,37 +224,6 @@ static void SavePixelsToFile(LPCVOID pPixels, DXGI_FORMAT format,
224224 VERIFY_SUCCEEDED(pStream->Commit(STGC_DEFAULT));
225225}
226226
227- // Checks if the given warp version supports the given operation.
228- bool IsValidWarpDllVersion(unsigned int minBuildNumber) {
229- HMODULE pLibrary = LoadLibrary("D3D10Warp.dll");
230- if (pLibrary) {
231- char path[MAX_PATH];
232- DWORD length = GetModuleFileName(pLibrary, path, MAX_PATH);
233- if (length) {
234- DWORD dwVerHnd = 0;
235- DWORD dwVersionInfoSize = GetFileVersionInfoSize(path, &dwVerHnd);
236- std::unique_ptr<int[]> VffInfo(new int[dwVersionInfoSize]);
237- if (GetFileVersionInfo(path, NULL, dwVersionInfoSize, VffInfo.get())) {
238- LPVOID versionInfo;
239- UINT size;
240- if (VerQueryValue(VffInfo.get(), "\\", &versionInfo, &size)) {
241- if (size) {
242- VS_FIXEDFILEINFO *verInfo = (VS_FIXEDFILEINFO *)versionInfo;
243- unsigned int warpBuildNumber =
244- verInfo->dwFileVersionLS >> 16 & 0xffff;
245- if (verInfo->dwSignature == 0xFEEF04BD &&
246- warpBuildNumber >= minBuildNumber) {
247- return true;
248- }
249- }
250- }
251- }
252- }
253- FreeLibrary(pLibrary);
254- }
255- return false;
256- }
257-
258227#if WDK_NTDDI_VERSION <= NTDDI_WIN10_RS2
259228#define D3D12_FEATURE_D3D12_OPTIONS3 ((D3D12_FEATURE)21)
260229#define NTDDI_WIN10_RS3 0x0A000004 /* ABRACADABRA_WIN10_RS2 */
@@ -2458,14 +2427,6 @@ TEST_F(ExecutionTest, LifetimeIntrinsicTest) {
24582427 bool bDXRSupported =
24592428 bSM_6_3_Supported && DoesDeviceSupportRayTracing(pDevice);
24602429
2461- if (GetTestParamUseWARP(UseWarpByDefault()) ||
2462- IsDeviceBasicAdapter(pDevice)) {
2463- WEX::Logging::Log::Comment(
2464- L"WARP has a known issue with LifetimeIntrinsicTest.");
2465- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
2466- return;
2467- }
2468-
24692430 if (!bSM_6_6_Supported) {
24702431 WEX::Logging::Log::Comment(
24712432 L"Native lifetime markers skipped, device does not support SM 6.6");
@@ -4088,14 +4049,6 @@ TEST_F(ExecutionTest, QuadReadTest) {
40884049 if (!CreateDevice(&pDevice))
40894050 return;
40904051
4091- if (GetTestParamUseWARP(UseWarpByDefault()) ||
4092- IsDeviceBasicAdapter(pDevice)) {
4093- WEX::Logging::Log::Comment(
4094- L"WARP does not support QuadRead in compute shaders.");
4095- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
4096- return;
4097- }
4098-
40994052 if (!DoesDeviceSupportWaveOps(pDevice)) {
41004053 WEX::Logging::Log::Comment(L"Device does not support wave operations.");
41014054 return;
@@ -7162,12 +7115,6 @@ TEST_F(ExecutionTest, UnaryFloatOpTest) {
71627115 CW2A Target(handler.GetTableParamByName(L"ShaderOp.Target")->m_str);
71637116 CW2A Text(handler.GetTableParamByName(L"ShaderOp.Text")->m_str);
71647117
7165- unsigned int WarpVersion =
7166- handler.GetTableParamByName(L"Warp.Version")->m_uint;
7167- if (GetTestParamUseWARP(true) && !IsValidWarpDllVersion(WarpVersion)) {
7168- return;
7169- }
7170-
71717118 std::vector<float> *Validation_Input =
71727119 &(handler.GetTableParamByName(L"Validation.Input1")->m_floatTable);
71737120 std::vector<float> *Validation_Expected =
@@ -7403,12 +7350,6 @@ TEST_F(ExecutionTest, UnaryHalfOpTest) {
74037350 CW2A Text(handler.GetTableParamByName(L"ShaderOp.Text")->m_str);
74047351 CW2A Arguments(handler.GetTableParamByName(L"ShaderOp.Arguments")->m_str);
74057352
7406- unsigned int WarpVersion =
7407- handler.GetTableParamByName(L"Warp.Version")->m_uint;
7408- if (GetTestParamUseWARP(true) && !IsValidWarpDllVersion(WarpVersion)) {
7409- return;
7410- }
7411-
74127353 std::vector<uint16_t> *Validation_Input =
74137354 &(handler.GetTableParamByName(L"Validation.Input1")->m_halfTable);
74147355 std::vector<uint16_t> *Validation_Expected =
@@ -10982,18 +10923,6 @@ TEST_F(ExecutionTest, DenormBinaryFloatOpTest) {
1098210923 "must have same number of expected values");
1098310924 }
1098410925
10985- #if defined(_M_ARM64) || defined(_M_ARM64EC)
10986- if ((GetTestParamUseWARP(UseWarpByDefault()) ||
10987- IsDeviceBasicAdapter(pDevice)) &&
10988- mode == Float32DenormMode::Preserve) {
10989- WEX::Logging::Log::Comment(
10990- L"WARP has an issue with DenormBinaryFloatOpTest with '-denorm "
10991- L"preserve' on ARM64.");
10992- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
10993- return;
10994- }
10995- #endif // defined(_M_ARM64) || defined(_M_ARM64EC)
10996-
1099710926 std::shared_ptr<ShaderOpTestResult> test = RunShaderOpTest(
1099810927 pDevice, m_support, pStream, "BinaryFPOp",
1099910928 // this callbacked is called when the test
@@ -11107,18 +11036,6 @@ TEST_F(ExecutionTest, DenormTertiaryFloatOpTest) {
1110711036 "must have same number of expected values");
1110811037 }
1110911038
11110- #if defined(_M_ARM64) || defined(_M_ARM64EC)
11111- if ((GetTestParamUseWARP(UseWarpByDefault()) ||
11112- IsDeviceBasicAdapter(pDevice)) &&
11113- mode == Float32DenormMode::Preserve) {
11114- WEX::Logging::Log::Comment(
11115- L"WARP has an issue with DenormTertiaryFloatOpTest with '-denorm "
11116- L"preserve' on ARM64.");
11117- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
11118- return;
11119- }
11120- #endif // defined(_M_ARM64) || defined(_M_ARM64EC)
11121-
1112211039 std::shared_ptr<ShaderOpTestResult> test = RunShaderOpTest(
1112311040 pDevice, m_support, pStream, "TertiaryFPOp",
1112411041 // this callbacked is called when the test
@@ -11666,46 +11583,28 @@ void ExecutionTest::WaveIntrinsicsActivePrefixTest(
1166611583 }
1166711584}
1166811585
11669- static const unsigned int MinWarpVersionForWaveIntrinsics = 16202;
11670-
1167111586TEST_F(ExecutionTest, WaveIntrinsicsActiveIntTest) {
11672- if (GetTestParamUseWARP(true) &&
11673- !IsValidWarpDllVersion(MinWarpVersionForWaveIntrinsics)) {
11674- return;
11675- }
1167611587 WaveIntrinsicsActivePrefixTest<int, int>(
1167711588 WaveIntrinsicsActiveIntParameters,
1167811589 sizeof(WaveIntrinsicsActiveIntParameters) / sizeof(TableParameter),
1167911590 /*isPrefix*/ false);
1168011591}
1168111592
1168211593TEST_F(ExecutionTest, WaveIntrinsicsActiveUintTest) {
11683- if (GetTestParamUseWARP(true) &&
11684- !IsValidWarpDllVersion(MinWarpVersionForWaveIntrinsics)) {
11685- return;
11686- }
1168711594 WaveIntrinsicsActivePrefixTest<unsigned int, unsigned int>(
1168811595 WaveIntrinsicsActiveUintParameters,
1168911596 sizeof(WaveIntrinsicsActiveUintParameters) / sizeof(TableParameter),
1169011597 /*isPrefix*/ false);
1169111598}
1169211599
1169311600TEST_F(ExecutionTest, WaveIntrinsicsPrefixIntTest) {
11694- if (GetTestParamUseWARP(true) &&
11695- !IsValidWarpDllVersion(MinWarpVersionForWaveIntrinsics)) {
11696- return;
11697- }
1169811601 WaveIntrinsicsActivePrefixTest<int, int>(
1169911602 WaveIntrinsicsPrefixIntParameters,
1170011603 sizeof(WaveIntrinsicsPrefixIntParameters) / sizeof(TableParameter),
1170111604 /*isPrefix*/ true);
1170211605}
1170311606
1170411607TEST_F(ExecutionTest, WaveIntrinsicsPrefixUintTest) {
11705- if (GetTestParamUseWARP(true) &&
11706- !IsValidWarpDllVersion(MinWarpVersionForWaveIntrinsics)) {
11707- return;
11708- }
1170911608 WaveIntrinsicsActivePrefixTest<unsigned int, unsigned int>(
1171011609 WaveIntrinsicsPrefixUintParameters,
1171111610 sizeof(WaveIntrinsicsPrefixUintParameters) / sizeof(TableParameter),
@@ -14698,14 +14597,6 @@ TEST_F(ExecutionTest, HelperLaneTestWave) {
1469814597 continue;
1469914598 }
1470014599
14701- if (GetTestParamUseWARP(UseWarpByDefault()) ||
14702- IsDeviceBasicAdapter(pDevice)) {
14703- WEX::Logging::Log::Comment(
14704- L"WARP has a known issue with HelperLaneTestWave.");
14705- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
14706- return;
14707- }
14708-
1470914600 if (!DoesDeviceSupportWaveOps(pDevice)) {
1471014601 LogCommentFmt(
1471114602 L"Device does not support wave operations in shader model 6.%1u",
@@ -14859,11 +14750,6 @@ TEST_F(ExecutionTest, QuadAnyAll) {
1485914750 continue;
1486014751 }
1486114752
14862- if (IsDeviceBasicAdapter(pDevice)) {
14863- WEX::Logging::Log::Comment(L"QuadAny/All fails on basic render driver.");
14864- continue;
14865- }
14866-
1486714753 if (!DoesDeviceSupportWaveOps(pDevice)) {
1486814754 LogCommentFmt(
1486914755 L"Device does not support wave operations in shader model 6.%1u",
@@ -15037,13 +14923,6 @@ TEST_F(ExecutionTest, IsNormalTest) {
1503714923 VERIFY_IS_TRUE(CreateDevice(&pDevice, D3D_SHADER_MODEL_6_0,
1503814924 false /* skipUnsupported */));
1503914925
15040- if (GetTestParamUseWARP(UseWarpByDefault()) ||
15041- IsDeviceBasicAdapter(pDevice)) {
15042- WEX::Logging::Log::Comment(L"WARP has a known issue with IsNormalTest.");
15043- WEX::Logging::Log::Result(WEX::Logging::TestResults::Skipped);
15044- return;
15045- }
15046-
1504714926 // The input is -Zero, Zero, -Denormal, Denormal, -Infinity, Infinity, -NaN,
1504814927 // Nan, and then 4 normal float numbers. Only the last 4 floats are normal, so
1504914928 // we expect the first 8 results to be 0, and the last 4 to be 1, as defined
0 commit comments