diff --git a/lib/API/DX/Device.cpp b/lib/API/DX/Device.cpp index 4e8fde82..e1b9748b 100644 --- a/lib/API/DX/Device.cpp +++ b/lib/API/DX/Device.cpp @@ -159,7 +159,7 @@ static D3D12_RESOURCE_DESC getResourceDescription(const Resource &R) { const uint32_t Height = R.isTexture() ? B.OutputProps.Height : 1; D3D12_TEXTURE_LAYOUT Layout; if (R.isTexture()) - Layout = getDXKind(R.Kind) == SRV + Layout = getDXKind(R.Kind) == SRV || getDXKind(R.Kind) == UAV ? D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE : D3D12_TEXTURE_LAYOUT_UNKNOWN; else @@ -668,8 +668,6 @@ class DXDevice : public offloadtest::Device { ResourceBundle Bundle; const uint32_t BufferSize = getUAVBufferSize(R); - const D3D12_HEAP_PROPERTIES HeapProp = - CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT); const D3D12_RESOURCE_DESC ResDesc = getResourceDescription(R); const D3D12_HEAP_PROPERTIES ReadBackHeapProp = @@ -686,35 +684,42 @@ class DXDevice : public offloadtest::Device { D3D12_TEXTURE_LAYOUT_ROW_MAJOR, D3D12_RESOURCE_FLAG_NONE}; - const D3D12_HEAP_PROPERTIES UploadHeapProp = - CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD); const D3D12_RESOURCE_DESC UploadResDesc = CD3DX12_RESOURCE_DESC::Buffer(BufferSize); + const D3D12_HEAP_PROPERTIES UploadHeapProps = + CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD); uint32_t RegOffset = 0; + for (const auto &ResData : R.BufferPtr->Data) { llvm::outs() << "Creating UAV: { Size = " << BufferSize << ", Register = u" << R.DXBinding.Register + RegOffset << ", Space = " << R.DXBinding.Space - << ", HasCounter = " << R.HasCounter << " }\n"; + << ", HasCounter = " << R.HasCounter; + + if (R.TilesMapped) + llvm::outs() << ", TilesMapped = " << *R.TilesMapped; + llvm::outs() << " }\n"; ComPtr Buffer; - if (auto Err = HR::toError( - Device->CreateCommittedResource( - &HeapProp, D3D12_HEAP_FLAG_NONE, &ResDesc, - D3D12_RESOURCE_STATE_COMMON, nullptr, IID_PPV_ARGS(&Buffer)), - "Failed to create committed resource (buffer).")) + if (auto Err = + HR::toError(Device->CreateReservedResource( + &ResDesc, D3D12_RESOURCE_STATE_COMMON, nullptr, + IID_PPV_ARGS(&Buffer)), + "Failed to create reserved resource (buffer).")) return Err; + // Committed upload buffer ComPtr UploadBuffer; if (auto Err = HR::toError( Device->CreateCommittedResource( - &UploadHeapProp, D3D12_HEAP_FLAG_NONE, &UploadResDesc, + &UploadHeapProps, D3D12_HEAP_FLAG_NONE, &UploadResDesc, D3D12_RESOURCE_STATE_GENERIC_READ, nullptr, IID_PPV_ARGS(&UploadBuffer)), "Failed to create committed resource (upload buffer).")) return Err; + // Committed readback buffer ComPtr ReadBackBuffer; if (auto Err = HR::toError( Device->CreateCommittedResource( @@ -724,17 +729,54 @@ class DXDevice : public offloadtest::Device { "Failed to create committed resource (readback buffer).")) return Err; - // Initialize the UAV data + // Tile mapping setup (only skipped when TilesMapped is set to 0) + const UINT NumTiles = getNumTiles(R.TilesMapped, ResDesc.Width); + ComPtr Heap; // optional, only created if NumTiles > 0 + + if (NumTiles > 0) { + // Create a Heap large enough for the mapped tiles + D3D12_HEAP_DESC HeapDesc = {}; + HeapDesc.Properties = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT); + HeapDesc.Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT; + HeapDesc.SizeInBytes = static_cast(NumTiles) * + D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT; + HeapDesc.Flags = D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES; + + if (auto Err = + HR::toError(Device->CreateHeap(&HeapDesc, IID_PPV_ARGS(&Heap)), + "Failed to create heap for tiled SRV resource.")) + return Err; + + // Define one contiguous mapping region + const D3D12_TILED_RESOURCE_COORDINATE StartCoord = {0, 0, 0, 0}; + D3D12_TILE_REGION_SIZE RegionSize = {}; + RegionSize.NumTiles = NumTiles; + RegionSize.UseBox = FALSE; + + const D3D12_TILE_RANGE_FLAGS RangeFlag = D3D12_TILE_RANGE_FLAG_NONE; + const UINT HeapRangeStartOffset = 0; + const UINT RangeTileCount = NumTiles; + + ID3D12CommandQueue *CommandQueue = IS.Queue.Get(); + CommandQueue->UpdateTileMappings( + Buffer.Get(), 1, &StartCoord, &RegionSize, // One region + Heap.Get(), 1, &RangeFlag, &HeapRangeStartOffset, &RangeTileCount, + D3D12_TILE_MAPPING_FLAG_NONE); + } + + // Upload data initialization void *ResDataPtr = nullptr; - if (auto Err = HR::toError(UploadBuffer->Map(0, nullptr, &ResDataPtr), - "Failed to acquire UAV data pointer.")) - return Err; - memcpy(ResDataPtr, ResData.get(), R.size()); - UploadBuffer->Unmap(0, nullptr); + if (SUCCEEDED(UploadBuffer->Map(0, NULL, &ResDataPtr))) { + memcpy(ResDataPtr, ResData.get(), R.size()); + UploadBuffer->Unmap(0, nullptr); + } else { + return llvm::createStringError(std::errc::io_error, + "Failed to map SRV upload buffer."); + } addResourceUploadCommands(R, IS, Buffer, UploadBuffer); - Bundle.emplace_back(UploadBuffer, Buffer, ReadBackBuffer); + Bundle.emplace_back(UploadBuffer, Buffer, ReadBackBuffer, Heap); RegOffset++; } return Bundle; @@ -1001,14 +1043,28 @@ class DXDevice : public offloadtest::Device { "Failed to register end event.")) return Err; + // Choose a timeout (ms) + static constexpr int TimeoutMS = 5000; + #ifdef _WIN32 - WaitForSingleObject(IS.Event, INFINITE); -#else // WSL + const DWORD WaitRes = WaitForSingleObject(IS.Event, TimeoutMS); + if (WaitRes == WAIT_TIMEOUT) + return llvm::createStringError(std::errc::timed_out, + "Fence wait timed out"); + if (WaitRes != WAIT_OBJECT_0) + return llvm::createStringError(std::errc::io_error, + "Unexpected WaitForSingleObject result"); +#else pollfd PollEvent; PollEvent.fd = IS.Event; PollEvent.events = POLLIN; PollEvent.revents = 0; - if (poll(&PollEvent, 1, -1) == -1) + + int Ret = poll(&PollEvent, 1, TimeoutMS); + if (Ret == 0) + return llvm::createStringError(std::errc::timed_out, + "Fence wait timed out"); + if (Ret < 0) return llvm::createStringError( std::error_code(errno, std::system_category()), strerror(errno)); #endif @@ -1433,6 +1489,13 @@ class DXDevice : public offloadtest::Device { return llvm::Error::success(); } + llvm::Error waitThenReturnErr(llvm::Error Err, InvocationState &IS) { + llvm::Error WaitErr = waitForSignal(IS); + if (WaitErr) + return llvm::joinErrors(std::move(WaitErr), std::move(Err)); + return Err; + } + llvm::Error executeProgram(Pipeline &P) override { llvm::sys::AddSignalHandler( [](void *Cookie) { @@ -1476,7 +1539,7 @@ class DXDevice : public offloadtest::Device { return Err; llvm::outs() << "Buffers created.\n"; if (auto Err = createEvent(State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Event prepared.\n"; if (P.isCompute()) { @@ -1486,33 +1549,33 @@ class DXDevice : public offloadtest::Device { std::errc::invalid_argument, "Compute pipeline must have exactly one compute shader."); if (auto Err = createComputePSO(P.Shaders[0].Shader->getBuffer(), State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "PSO created.\n"; if (auto Err = createComputeCommands(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Compute command list created.\n"; } else { // Create render target, readback and vertex buffer and PSO. if (auto Err = createRenderTarget(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Render target created.\n"; if (auto Err = createVertexBuffer(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Vertex buffer created.\n"; if (auto Err = createGraphicsPSO(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Graphics PSO created.\n"; if (auto Err = createGraphicsCommands(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Graphics command list created complete.\n"; } if (auto Err = executeCommandList(State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Compute commands executed.\n"; if (auto Err = readBack(P, State)) - return Err; + return waitThenReturnErr(std::move(Err), State); llvm::outs() << "Read data back.\n"; return llvm::Error::success(); diff --git a/test/Feature/HLSLLib/abs.fp64.test b/test/Feature/HLSLLib/abs.fp64.test index 35c33fe3..89d45a32 100644 --- a/test/Feature/HLSLLib/abs.fp64.test +++ b/test/Feature/HLSLLib/abs.fp64.test @@ -58,6 +58,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/abs.int64.test b/test/Feature/HLSLLib/abs.int64.test index 5c0ff024..75144e81 100644 --- a/test/Feature/HLSLLib/abs.int64.test +++ b/test/Feature/HLSLLib/abs.int64.test @@ -97,6 +97,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/170241 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # REQUIRES: Int64 # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/asdouble.32.test b/test/Feature/HLSLLib/asdouble.32.test index ad133a4e..fc2bb3b7 100644 --- a/test/Feature/HLSLLib/asdouble.32.test +++ b/test/Feature/HLSLLib/asdouble.32.test @@ -88,6 +88,9 @@ DescriptorSets: # Bug https://github.com/microsoft/DirectXShaderCompiler/issues/7699 # XFAIL: DXC && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # REQUIRES: Double # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/clamp.fp64.test b/test/Feature/HLSLLib/clamp.fp64.test index ecee619c..99154bff 100644 --- a/test/Feature/HLSLLib/clamp.fp64.test +++ b/test/Feature/HLSLLib/clamp.fp64.test @@ -79,6 +79,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/clamp.int64.test b/test/Feature/HLSLLib/clamp.int64.test index d079c048..85ef0699 100644 --- a/test/Feature/HLSLLib/clamp.int64.test +++ b/test/Feature/HLSLLib/clamp.int64.test @@ -140,6 +140,10 @@ DescriptorSets: #--- end # REQUIRES: Int64 + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/mad.fp64.test b/test/Feature/HLSLLib/mad.fp64.test index 27edd295..3fd316cf 100644 --- a/test/Feature/HLSLLib/mad.fp64.test +++ b/test/Feature/HLSLLib/mad.fp64.test @@ -83,6 +83,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -Gis -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/mad.int64.test b/test/Feature/HLSLLib/mad.int64.test index e619a814..dea8666e 100644 --- a/test/Feature/HLSLLib/mad.int64.test +++ b/test/Feature/HLSLLib/mad.int64.test @@ -145,6 +145,10 @@ DescriptorSets: # UNSUPPORTED: Clang && Vulkan # REQUIRES: Int64 + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/max.fp64.test b/test/Feature/HLSLLib/max.fp64.test index eb5bfd4d..5a730d42 100644 --- a/test/Feature/HLSLLib/max.fp64.test +++ b/test/Feature/HLSLLib/max.fp64.test @@ -68,6 +68,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/max.int64.test b/test/Feature/HLSLLib/max.int64.test index 524751e0..ae939995 100644 --- a/test/Feature/HLSLLib/max.int64.test +++ b/test/Feature/HLSLLib/max.int64.test @@ -118,6 +118,10 @@ DescriptorSets: #--- end # REQUIRES: Int64 + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/min.fp64.test b/test/Feature/HLSLLib/min.fp64.test index 304e999e..f0df1ad5 100644 --- a/test/Feature/HLSLLib/min.fp64.test +++ b/test/Feature/HLSLLib/min.fp64.test @@ -68,6 +68,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -Gis -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/min.int64.test b/test/Feature/HLSLLib/min.int64.test index d244add0..8315d1d6 100644 --- a/test/Feature/HLSLLib/min.int64.test +++ b/test/Feature/HLSLLib/min.int64.test @@ -118,6 +118,10 @@ DescriptorSets: #--- end # REQUIRES: Int64 + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/rcp.64.test b/test/Feature/HLSLLib/rcp.64.test index 47f0b799..067be3bc 100644 --- a/test/Feature/HLSLLib/rcp.64.test +++ b/test/Feature/HLSLLib/rcp.64.test @@ -61,6 +61,10 @@ DescriptorSets: #--- end # REQUIRES: Double + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/reversebits.64.test b/test/Feature/HLSLLib/reversebits.64.test index 2e2a5c1b..53f3796b 100644 --- a/test/Feature/HLSLLib/reversebits.64.test +++ b/test/Feature/HLSLLib/reversebits.64.test @@ -58,6 +58,10 @@ DescriptorSets: #--- end # REQUIRES: Int64 + +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/HLSLLib/select.fp64.test b/test/Feature/HLSLLib/select.fp64.test index 2372f764..02465482 100644 --- a/test/Feature/HLSLLib/select.fp64.test +++ b/test/Feature/HLSLLib/select.fp64.test @@ -127,6 +127,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/166642 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # REQUIRES: Double # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/select.int64.test b/test/Feature/HLSLLib/select.int64.test index e5dc533b..f936e51f 100644 --- a/test/Feature/HLSLLib/select.int64.test +++ b/test/Feature/HLSLLib/select.int64.test @@ -206,6 +206,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/166642 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # REQUIRES: Int64 # RUN: split-file %s %t # RUN: %dxc_target -HV 202x -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/StructuredBuffer/dec_counter.test b/test/Feature/StructuredBuffer/dec_counter.test index 24889237..e04b03db 100644 --- a/test/Feature/StructuredBuffer/dec_counter.test +++ b/test/Feature/StructuredBuffer/dec_counter.test @@ -38,6 +38,9 @@ DescriptorSets: # Unimplemented https://github.com/llvm/offload-test-suite/issues/304 # XFAIL: Metal +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s diff --git a/test/Feature/StructuredBuffer/inc_counter.test b/test/Feature/StructuredBuffer/inc_counter.test index 2b1ab16f..e9b92348 100644 --- a/test/Feature/StructuredBuffer/inc_counter.test +++ b/test/Feature/StructuredBuffer/inc_counter.test @@ -38,6 +38,9 @@ DescriptorSets: # Unimplemented https://github.com/llvm/offload-test-suite/issues/304 # XFAIL: Metal +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s diff --git a/test/Feature/StructuredBuffer/inc_counter_array.test b/test/Feature/StructuredBuffer/inc_counter_array.test index 4d9fd346..eb56212f 100644 --- a/test/Feature/StructuredBuffer/inc_counter_array.test +++ b/test/Feature/StructuredBuffer/inc_counter_array.test @@ -55,6 +55,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/337 # XFAIL: AMD +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s %if DirectX %{ --check-prefixes=CHECK,DX-CHECK %} diff --git a/test/Feature/StructuredBuffer/inc_counter_array_imm_idx.test b/test/Feature/StructuredBuffer/inc_counter_array_imm_idx.test index 5d554536..62ff1df5 100644 --- a/test/Feature/StructuredBuffer/inc_counter_array_imm_idx.test +++ b/test/Feature/StructuredBuffer/inc_counter_array_imm_idx.test @@ -54,6 +54,9 @@ DescriptorSets: # Unimplemented https://github.com/llvm/offload-test-suite/issues/305 # XFAIL: Metal +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s %if DirectX %{ --check-prefixes=CHECK,DX-CHECK %} diff --git a/test/WaveOps/WaveActiveMax.fp64.test b/test/WaveOps/WaveActiveMax.fp64.test index 966ab997..ef989dbf 100644 --- a/test/WaveOps/WaveActiveMax.fp64.test +++ b/test/WaveOps/WaveActiveMax.fp64.test @@ -313,6 +313,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/541 # XFAIL: DirectX && AMD +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # REQUIRES: Double # RUN: split-file %s %t diff --git a/test/WaveOps/WaveActiveMax.int64.test b/test/WaveOps/WaveActiveMax.int64.test index 30677bf0..3fa6fd6f 100644 --- a/test/WaveOps/WaveActiveMax.int64.test +++ b/test/WaveOps/WaveActiveMax.int64.test @@ -312,6 +312,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/393 # XFAIL: Metal +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WaveActiveSum.fp64.test b/test/WaveOps/WaveActiveSum.fp64.test index c055b722..9d56fed6 100644 --- a/test/WaveOps/WaveActiveSum.fp64.test +++ b/test/WaveOps/WaveActiveSum.fp64.test @@ -177,6 +177,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # REQUIRES: Double # RUN: split-file %s %t diff --git a/test/WaveOps/WaveActiveSum.int64.test b/test/WaveOps/WaveActiveSum.int64.test index 9fcfeec7..9cf150d8 100644 --- a/test/WaveOps/WaveActiveSum.int64.test +++ b/test/WaveOps/WaveActiveSum.int64.test @@ -334,6 +334,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/355 # XFAIL: Metal +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WaveReadLaneAt.Float.64.test b/test/WaveOps/WaveReadLaneAt.Float.64.test index 54638367..ec05f6b3 100644 --- a/test/WaveOps/WaveReadLaneAt.Float.64.test +++ b/test/WaveOps/WaveReadLaneAt.Float.64.test @@ -65,6 +65,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/170241 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # REQUIRES: Double # RUN: split-file %s %t diff --git a/test/WaveOps/WaveReadLaneAt.Int.64.test b/test/WaveOps/WaveReadLaneAt.Int.64.test index 26da9a56..ba560e58 100644 --- a/test/WaveOps/WaveReadLaneAt.Int.64.test +++ b/test/WaveOps/WaveReadLaneAt.Int.64.test @@ -106,6 +106,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/170241 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/610 +# XFAIL: WARP && DirectX + # REQUIRES: Int64 # RUN: split-file %s %t