Search Issue Tracker

Fixed

Fixed in 2020.3.40f1, 2021.3.11f1, 2022.1.18f1, 2022.2.0a14

Votes

0

Found in

2020.3.37f1

2021.3.6f1

2022.1.10f1

2022.2.0a13

Issue ID

UUM-11444

Regression

No

Crash on Play when <ComputeBuffer>.GetData() attempts a partial read on DirectX12 (DX12)

--

-

To reproduce:
1. Open the project “GetDataBugRepro”
2. Make sure that Graphics API is set to DX12 (Edit → Project Settings → Player → uncheck Auto Graphics API for windows → select D12)
3. Enter Play mode
4. Observe crash

Reproducible with: 2020.3.37f1, 2021.3.6f1, 2022.1.10f1, 2022.2.0a13
Not reproducible with: 2022.2.0a14, 2022.2.0b1, 2023.1.0a2

Reproduced on: Windows 10

First few lines of the stack trace:
0x00007FF6611DED9A (Unity) GfxTaskExecutorD3D12::AddRequiredResourceBarriers
0x00007FF6611DFB49 (Unity) GfxTaskExecutorD3D12::DoExecute
0x00007FF6611E0B33 (Unity) GfxTaskExecutorD3D12::Execute
0x00007FF661229494 (Unity) GfxDeviceD3D12::QueueExecute
0x00007FF661229809 (Unity) GfxDeviceD3D12::QueuePresent

Notes:
- No crash with DX11 or Vulcan
- The script that causes the crash is Assets → BugRepro.cs

User’s note:
- I tracked down the issue to a <ComputeBuffer>.GetData() call where I was reading back only a portion of a larger ComputeBuffer

Add comment

Log in to post comment