summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D12/XFBEncoder.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2016-03-15 22:26:01 +1000
committerStenzek <stenzek@gmail.com>2016-05-08 23:18:59 +1000
commitccf9470241309114bdc46d9dc80bb9b99aed4a41 (patch)
tree81fe92b0101399b9ecf1d935b4f5628cfd67a5b2 /Source/Core/VideoBackends/D3D12/XFBEncoder.cpp
parentfde7dee652674f3d42d80e2f4a3ae0ff30ecaa06 (diff)
D3D12: Specify read/write ranges when calling Map/Unmap
Diffstat (limited to 'Source/Core/VideoBackends/D3D12/XFBEncoder.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D12/XFBEncoder.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/D3D12/XFBEncoder.cpp b/Source/Core/VideoBackends/D3D12/XFBEncoder.cpp
index f70de0d812..670cda05e2 100644
--- a/Source/Core/VideoBackends/D3D12/XFBEncoder.cpp
+++ b/Source/Core/VideoBackends/D3D12/XFBEncoder.cpp
@@ -132,7 +132,8 @@ void XFBEncoder::EncodeTextureToRam(u8* dst, u32 dst_pitch, u32 dst_height,
// Copy from the readback buffer to dst.
// Can't be done as one memcpy due to pitch difference.
void* readback_texture_map;
- CheckHR(m_readback_buffer->Map(0, nullptr, &readback_texture_map));
+ D3D12_RANGE read_range = { 0, readback_pitch * dst_height };
+ CheckHR(m_readback_buffer->Map(0, &read_range, &readback_texture_map));
for (u32 row = 0; row < dst_height; row++)
{
@@ -141,7 +142,8 @@ void XFBEncoder::EncodeTextureToRam(u8* dst, u32 dst_pitch, u32 dst_height,
memcpy(row_dst, row_src, std::min(dst_pitch, readback_pitch));
}
- m_readback_buffer->Unmap(0, nullptr);
+ D3D12_RANGE write_range = {};
+ m_readback_buffer->Unmap(0, &write_range);
}
void XFBEncoder::DecodeToTexture(D3DTexture2D* dst_texture, const u8* src, u32 src_width, u32 src_height)