-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Labels
driver-bugBugs that are likely or confirmed GPU driver bugsBugs that are likely or confirmed GPU driver bugs
Description
The WaveOps/WaveReadLaneFirst fp16, fp32, and fp64 tests fail on Qualcomm under D3D12 with DXC. (Clang is XFAILed by these tests).
The fp64 failure is due to lack of support for 64-bit floating point. (To be fixed by adding REQUIRES: Double to the test).
The fp16 and fp32 failures are likely driver bugs.
╭───┬──────────────────────┬─────────────┬──────────────────────┬─────────────┬───────────────────────────────────────────╮
│ # │ timestamp │ run-id │ workflow │ status │ test │
├───┼──────────────────────┼─────────────┼──────────────────────┼─────────────┼───────────────────────────────────────────┤
│ 0 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ UNSUPPORTED │ WaveOps/WaveReadLaneFirst.128Threads.test │
│ 1 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ FAIL │ WaveOps/WaveReadLaneFirst.fp16.test │
│ 2 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ FAIL │ WaveOps/WaveReadLaneFirst.fp32.test │
│ 3 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ FAIL │ WaveOps/WaveReadLaneFirst.fp64.test │
│ 4 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ PASS │ WaveOps/WaveReadLaneFirst.int16.test │
│ 5 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ PASS │ WaveOps/WaveReadLaneFirst.int32.test │
│ 6 │ 2025-12-16T14:08:13Z │ 20270756753 │ Windows D3D12 QC DXC │ PASS │ WaveOps/WaveReadLaneFirst.int64.test │
╰───┴──────────────────────┴─────────────┴──────────────────────┴─────────────┴───────────────────────────────────────────╯
Logs: https://github.com/llvm/offload-test-suite/actions/runs/20270756753/job/58205649320#step:12:788
FAIL: OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp16.test (299 of 305)
******************** TEST 'OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp16.test' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 316
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp16.test C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp16.test' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp'
# RUN: at line 317
"C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe" -enable-16bit-types -T cs_6_5 -Fo C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp.o C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp/source.hlsl
# executed command: 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe' -enable-16bit-types -T cs_6_5 -Fo 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp.o' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp/source.hlsl'
# RUN: at line 318
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe -debug-layer C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp/pipeline.yaml C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp.o
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe' -debug-layer 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp/pipeline.yaml' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp16.test.tmp.o'
# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: Qualcomm(R) Adreno(TM) X1-85 GPU
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Creating SRV: { Size = 256, Register = t0, Space = 0 }
# | Creating UAV: { Size = 64, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 128, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 256, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 256, Register = u4, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 8, Register = u5, Space = 0, HasCounter = 0 }
# | Creating SRV: { Size = 64, Register = t6, Space = 0 }
# | EltSize = 8 NumElts = 32
# | SRV: HeapIdx = 0 EltSize = 8 NumElts = 32
# | EltSize = 2 NumElts = 32
# | UAV: HeapIdx = 1 EltSize = 2 NumElts = 32 HasCounter = 0
# | EltSize = 4 NumElts = 32
# | UAV: HeapIdx = 2 EltSize = 4 NumElts = 32 HasCounter = 0
# | EltSize = 8 NumElts = 32
# | UAV: HeapIdx = 3 EltSize = 8 NumElts = 32 HasCounter = 0
# | EltSize = 8 NumElts = 32
# | UAV: HeapIdx = 4 EltSize = 8 NumElts = 32 HasCounter = 0
# | EltSize = 8 NumElts = 1
# | UAV: HeapIdx = 5 EltSize = 8 NumElts = 1 HasCounter = 0
# | EltSize = 16 NumElts = 4
# | SRV: HeapIdx = 6 EltSize = 16 NumElts = 4
# | Buffers created.
# | Event prepared.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: ExpectedOut5
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name: ExpectedOut5
# | Format: Float16
# | Stride: 8
# | Data: [ 0x3C00, 0x4000, 0x4200, 0x4400 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Got:
# | ---
# | Name: Out5
# | Format: Float16
# | Stride: 8
# | Data: [ 0x3C00, 0x3C00, 0x3C00, 0x3C00 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x3c00, 0x4000, 0x4200, 0x4400 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x3c00, 0x3c00, 0x3c00, 0x3c00 ]
# |
# `-----------------------------
# error: command failed with exit status: 1
--
********************
FAIL: OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp32.test (300 of 305)
******************** TEST 'OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp32.test' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 313
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp32.test C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp32.test' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp'
# RUN: at line 314
"C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe" -T cs_6_5 -Fo C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp.o C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp/source.hlsl
# executed command: 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe' -T cs_6_5 -Fo 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp.o' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp/source.hlsl'
# RUN: at line 315
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe -debug-layer C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp/pipeline.yaml C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp.o
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe' -debug-layer 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp/pipeline.yaml' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp32.test.tmp.o'
# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: Qualcomm(R) Adreno(TM) X1-85 GPU
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Creating SRV: { Size = 512, Register = t0, Space = 0 }
# | Creating UAV: { Size = 128, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 256, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 512, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 512, Register = u4, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 16, Register = u5, Space = 0, HasCounter = 0 }
# | Creating SRV: { Size = 64, Register = t6, Space = 0 }
# | EltSize = 16 NumElts = 32
# | SRV: HeapIdx = 0 EltSize = 16 NumElts = 32
# | EltSize = 4 NumElts = 32
# | UAV: HeapIdx = 1 EltSize = 4 NumElts = 32 HasCounter = 0
# | EltSize = 8 NumElts = 32
# | UAV: HeapIdx = 2 EltSize = 8 NumElts = 32 HasCounter = 0
# | EltSize = 16 NumElts = 32
# | UAV: HeapIdx = 3 EltSize = 16 NumElts = 32 HasCounter = 0
# | EltSize = 16 NumElts = 32
# | UAV: HeapIdx = 4 EltSize = 16 NumElts = 32 HasCounter = 0
# | EltSize = 16 NumElts = 1
# | UAV: HeapIdx = 5 EltSize = 16 NumElts = 1 HasCounter = 0
# | EltSize = 16 NumElts = 4
# | SRV: HeapIdx = 6 EltSize = 16 NumElts = 4
# | Buffers created.
# | Event prepared.
# | PSO created.
# | Compute command list created.
# | Compute commands executed.
# | Read data back.
# `-----------------------------
# .---command stderr------------
# | Test failed: ExpectedOut5
# | Comparison Rule: BufferExact
# | Expected:
# | ---
# | Name: ExpectedOut5
# | Format: Float32
# | Stride: 8
# | Data: [ 1.5, 2.5, 3.5, 4.5 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Got:
# | ---
# | Name: Out5
# | Format: Float32
# | Stride: 16
# | Data: [ 1.5, 1.5, 1.5, 1.5 ]
# | OutputProps:
# | Height: 0
# | Width: 0
# | Depth: 0
# | ...
# | Full Hex 64bit representation of Expected Buffer Values:
# | [ 0x1.5, 0x2.5, 0x3.5, 0x4.5 ]
# | Full Hex 64bit representation of Actual Buffer Values:
# | [ 0x1.5, 0x1.5, 0x1.5, 0x1.5 ]
# |
# `-----------------------------
# error: command failed with exit status: 1
--
********************
FAIL: OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp64.test (301 of 305)
******************** TEST 'OffloadTest-d3d12 :: WaveOps/WaveReadLaneFirst.fp64.test' FAILED ********************
Exit Code: 2170
Command Output (stdout):
--
# RUN: at line 316
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp64.test C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\OffloadTest\test\WaveOps\WaveReadLaneFirst.fp64.test' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp'
# RUN: at line 317
"C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe" -T cs_6_5 -Fo C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp.o C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp/source.hlsl
# executed command: 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\DXC\build\bin\dxc.exe' -T cs_6_5 -Fo 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp.o' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp/source.hlsl'
# RUN: at line 318
c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe -debug-layer C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp/pipeline.yaml C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp.o
# executed command: 'c:\users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe' -debug-layer 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp/pipeline.yaml' 'C:\Users\github\dev\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\d3d12\WaveOps\Output\WaveReadLaneFirst.fp64.test.tmp.o'
# .---command stdout------------
# | Using DirectX API
# | Configuring execution on device: Qualcomm(R) Adreno(TM) X1-85 GPU
# | RootSignature created.
# | Descriptor heap created.
# | Command structures created.
# | Creating SRV: { Size = 1024, Register = t0, Space = 0 }
# | Creating UAV: { Size = 256, Register = u1, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 512, Register = u2, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 1024, Register = u3, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 1024, Register = u4, Space = 0, HasCounter = 0 }
# | Creating UAV: { Size = 32, Register = u5, Space = 0, HasCounter = 0 }
# | Creating SRV: { Size = 64, Register = t6, Space = 0 }
# | EltSize = 32 NumElts = 32
# | SRV: HeapIdx = 0 EltSize = 32 NumElts = 32
# | EltSize = 4 NumElts = 64
# | UAV: HeapIdx = 1 EltSize = 4 NumElts = 64 HasCounter = 0
# | EltSize = 8 NumElts = 64
# | UAV: HeapIdx = 2 EltSize = 8 NumElts = 64 HasCounter = 0
# | EltSize = 16 NumElts = 64
# | UAV: HeapIdx = 3 EltSize = 16 NumElts = 64 HasCounter = 0
# | EltSize = 16 NumElts = 64
# | UAV: HeapIdx = 4 EltSize = 16 NumElts = 64 HasCounter = 0
# | EltSize = 32 NumElts = 1
# | UAV: HeapIdx = 5 EltSize = 32 NumElts = 1 HasCounter = 0
# | EltSize = 16 NumElts = 4
# | SRV: HeapIdx = 6 EltSize = 16 NumElts = 4
# | Buffers created.
# | Event prepared.
# `-----------------------------
# .---command stderr------------
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: c:\\users\\github\\dev\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\bin\\offloader.exe -debug-layer C:\\Users\\github\\dev\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\d3d12\\WaveOps\\Output\\WaveReadLaneFirst.fp64.test.tmp/pipeline.yaml C:\\Users\\github\\dev\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\d3d12\\WaveOps\\Output\\WaveReadLaneFirst.fp64.test.tmp.o
# | D3D: ID3D12Device::CreateComputeShader: Shader uses double precision float ops which are not supported on the current device.
# | Exception Code: 0x0000087A
# | #0 0x00007ffece6050d4 (C:\Windows\System32\KERNELBASE.dll+0x1250d4)
# | #1 0x0e487ffea31862e8
# `-----------------------------
# error: command failed with exit status: 0x87a
--
Metadata
Metadata
Assignees
Labels
driver-bugBugs that are likely or confirmed GPU driver bugsBugs that are likely or confirmed GPU driver bugs
Type
Projects
Status
No status