rsx: Handle edge case where window size falls outside memory range

This commit is contained in:
kd-11 2026-04-28 22:36:17 +03:00 committed by kd-11
parent 41e6cbbb5a
commit 8b02f46e67

View File

@ -85,7 +85,9 @@ namespace vk
if (start_partition == end_partition) [[ likely ]]
{
m_cached_buffer_range = utils::address_range64::start_length(start_partition * aligned_window_size, aligned_window_size);
const u64 block_addr = start_partition * aligned_window_size;
const u64 block_end = std::min<u64>(block_addr + aligned_window_size, size());
m_cached_buffer_range = utils::address_range64::start_end(block_addr, block_end - 1);
return { *heap, m_cached_buffer_range.start, m_cached_buffer_range.length() };
}