From 8297d963bfe4f799a1fbe2b42d90b103e2b5294a Mon Sep 17 00:00:00 2001 From: DHrpcs3 Date: Sun, 10 Jan 2016 23:28:30 +0200 Subject: [PATCH] d3d12 texture cache: align to bottom texture address --- rpcs3/Emu/RSX/D3D12/D3D12MemoryHelpers.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/RSX/D3D12/D3D12MemoryHelpers.cpp b/rpcs3/Emu/RSX/D3D12/D3D12MemoryHelpers.cpp index a07e09fd73..0e1e3c5be7 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12MemoryHelpers.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12MemoryHelpers.cpp @@ -14,8 +14,9 @@ void data_cache::store_and_protect_data(u64 key, u32 start, size_t size, u8 form void data_cache::protect_data(u64 key, u32 start, size_t size) { /// align start to 4096 byte - u32 protected_range_start = align(start, 4096); - u32 protected_range_size = (u32)align(size, 4096); + static const u32 memory_page_size = 4096; + u32 protected_range_start = start & ~(memory_page_size - 1); + u32 protected_range_size = (u32)align(size, memory_page_size); m_protected_ranges.push_back(std::make_tuple(key, protected_range_start, protected_range_size)); vm::page_protect(protected_range_start, protected_range_size, 0, 0, vm::page_writable); }