early-access version 1358
This commit is contained in:
@@ -1243,9 +1243,15 @@ typename BufferCache<P>::Binding BufferCache<P>::StorageBufferBinding(GPUVAddr s
|
||||
if (!cpu_addr || size == 0) {
|
||||
return NULL_BINDING;
|
||||
}
|
||||
// HACK(Rodrigo): This is the number of bytes bound in host beyond the guest API's range.
|
||||
// It exists due to some games like Astral Chain operate out of bounds.
|
||||
// Binding the whole map range would be technically correct, but games have large maps that make
|
||||
// this approach unaffordable for now.
|
||||
static constexpr u32 arbitrary_extra_bytes = 0xc000;
|
||||
const u32 bytes_to_map_end = static_cast<u32>(gpu_memory.BytesToMapEnd(gpu_addr));
|
||||
const Binding binding{
|
||||
.cpu_addr = *cpu_addr,
|
||||
.size = size,
|
||||
.size = std::min(size + arbitrary_extra_bytes, bytes_to_map_end),
|
||||
.buffer_id = BufferId{},
|
||||
};
|
||||
return binding;
|
||||
|
Reference in New Issue
Block a user