diff options
| author | Stenzek <stenzek@gmail.com> | 2016-03-15 22:26:01 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2016-05-08 23:18:59 +1000 |
| commit | ccf9470241309114bdc46d9dc80bb9b99aed4a41 (patch) | |
| tree | 81fe92b0101399b9ecf1d935b4f5628cfd67a5b2 /Source/Core/VideoBackends/D3D12/D3DTexture.cpp | |
| parent | fde7dee652674f3d42d80e2f4a3ae0ff30ecaa06 (diff) | |
D3D12: Specify read/write ranges when calling Map/Unmap
Diffstat (limited to 'Source/Core/VideoBackends/D3D12/D3DTexture.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D12/D3DTexture.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/D3D12/D3DTexture.cpp b/Source/Core/VideoBackends/D3D12/D3DTexture.cpp index 12fed7c4e2..9749a36a76 100644 --- a/Source/Core/VideoBackends/D3D12/D3DTexture.cpp +++ b/Source/Core/VideoBackends/D3D12/D3DTexture.cpp @@ -51,7 +51,8 @@ void ReplaceRGBATexture2D(ID3D12Resource* texture12, const u8* buffer, unsigned nullptr, IID_PPV_ARGS(&upload_buffer))); - CheckHR(upload_buffer->Map(0, nullptr, reinterpret_cast<void**>(&dest_data))); + D3D12_RANGE read_range = {}; + CheckHR(upload_buffer->Map(0, &read_range, reinterpret_cast<void**>(&dest_data))); } else { @@ -92,8 +93,11 @@ void ReplaceRGBATexture2D(ID3D12Resource* texture12, const u8* buffer, unsigned // We block here because otherwise if there was a large number of texture uploads, we may run out of memory. if (!s_texture_upload_stream_buffer || upload_buffer != s_texture_upload_stream_buffer->GetBuffer()) { + D3D12_RANGE write_range = { 0, upload_size }; + upload_buffer->Unmap(0, &write_range); + D3D::command_list_mgr->ExecuteQueuedWork(true); - upload_buffer->Unmap(0, nullptr); + upload_buffer->Release(); } } |
