diff --git a/renderdoc/driver/d3d12/d3d12_state.cpp b/renderdoc/driver/d3d12/d3d12_state.cpp index 70d9676ea..7971a0a7b 100644 --- a/renderdoc/driver/d3d12/d3d12_state.cpp +++ b/renderdoc/driver/d3d12/d3d12_state.cpp @@ -70,7 +70,7 @@ void D3D12RenderState::ResolvePendingIndirectState(WrappedID3D12Device *device) device->DeviceWaitForIdle(); D3D12_RANGE range = {0, D3D12CommandData::m_IndirectSize}; - byte *mapPtr = NULL; + const byte *mapPtr = NULL; CHECK_HR(device, indirectState.argsBuf->Map(0, &range, (void **)&mapPtr)); if(device->HasFatalError()) @@ -79,7 +79,7 @@ void D3D12RenderState::ResolvePendingIndirectState(WrappedID3D12Device *device) WrappedID3D12CommandSignature *comSig = (WrappedID3D12CommandSignature *)indirectState.comSig; { - byte *data = mapPtr + indirectState.argsOffs; + const byte *data = mapPtr + indirectState.argsOffs; for(uint32_t argIdx = 0; argIdx < indirectState.argsToProcess; argIdx++) { @@ -203,6 +203,7 @@ void D3D12RenderState::ResolvePendingIndirectState(WrappedID3D12Device *device) } } + range.End = 0; indirectState.argsBuf->Unmap(0, &range); indirectState.argsBuf = NULL; indirectState.argsOffs = 0;