Skip to content

[WARP][DXC][D3D12] QuadReadAcrossY.fp64.test failure for WARP on x64 architecture #1013

@kcloudy0717

Description

@kcloudy0717

WaveOps/QuadReadAcrossY.fp64.test is failing on WARP-AMD for both dxc and clang. In both cases the behaviour is the same: it returns all zeros (appears to do nothing).

This is due to the following error, visible when run with -debug-layer -validation-layer specified:

gpu-exec: error: Failed to map result.

DXC log. Clang log.

******************** TEST 'OffloadTest-warp-d3d12 :: WaveOps/QuadReadAcrossY.fp64.test' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 134
c:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe C:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\QuadReadAcrossY.fp64.test C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp
# executed command: 'c:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe' 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\QuadReadAcrossY.fp64.test' 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp'
# RUN: at line 135
"C:\actions-runner\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe" -T cs_6_0 -Fo C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp.o C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp/source.hlsl
# executed command: 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe' -T cs_6_0 -Fo 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp.o' 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp/source.hlsl'
# RUN: at line 136
c:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe -warp -debug-layer C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp/pipeline.yaml C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp.o
# executed command: 'c:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe' -warp -debug-layer 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp/pipeline.yaml' 'C:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\warp-d3d12\WaveOps\Output\QuadReadAcrossY.fp64.test.tmp.o'
# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: Microsoft Basic Render Driver
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Event prepared.
# | Creating SRV: { Size = 128, Register = t0, Space = 0 }
# | Creating UAV: { Size = 128, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 128, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 128, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 128, Register = u4, Space = 0, HasCounter = 0 }
# |     EltSize = 32 NumElts = 4
# | SRV: HeapIdx = 0 EltSize = 32 NumElts = 4
# |     EltSize = 32 NumElts = 4
# | UAV: HeapIdx = 1 EltSize = 32 NumElts = 4 HasCounter = 0
# |     EltSize = 32 NumElts = 4
# | UAV: HeapIdx = 2 EltSize = 32 NumElts = 4 HasCounter = 0
# |     EltSize = 32 NumElts = 4
# | UAV: HeapIdx = 3 EltSize = 32 NumElts = 4 HasCounter = 0
# |     EltSize = 32 NumElts = 4
# | UAV: HeapIdx = 4 EltSize = 32 NumElts = 4 HasCounter = 0
# | Buffers created.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: ExpectedOut1
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut1
# | Format:          Float64
# | Stride:          32
# | Data:            [ 9, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out1
# | Format:          Float64
# | Stride:          32
# | Data:            [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x9, 0x0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ]
# | 
# | Test failed: ExpectedOut2
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut2
# | Format:          Float64
# | Stride:          32
# | Data:            [ 9, 10, 0, 0, 13, 14, 0, 0, 1, 2, 0, 0, 5, 6, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out2
# | Format:          Float64
# | Stride:          32
# | Data:            [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x9, 0x10, 0x0, 0x0, 0x13, 0x14, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x5, 0x6, 0x0, 0x0 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ]
# | 
# | Test failed: ExpectedOut3
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut3
# | Format:          Float64
# | Stride:          32
# | Data:            [ 9, 10, 11, 0, 13, 14, 15, 0, 1, 2, 3, 0, 5, 6, 7, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out3
# | Format:          Float64
# | Stride:          32
# | Data:            [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x9, 0x10, 0x11, 0x0, 0x13, 0x14, 0x15, 0x0, 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x0 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ]
# | 
# | Test failed: ExpectedOut4
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name:            ExpectedOut4
# | Format:          Float64
# | Stride:          32
# | Data:            [ 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 
# |                    8 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Got:
# | ---
# | Name:            Out4
# | Format:          Float64
# | Stride:          32
# | Data:            [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
# | OutputProps:
# |   Height:          0
# |   Width:           0
# |   Depth:           0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ]
# | 
# `-----------------------------
# error: command failed with exit status: 1
--

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Closed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions