vkd3d-proton/libs/vkd3d
Hans-Kristian Arntzen a019a21f70 vkd3d: Allocate one large buffer for a heap and offset into it.
Greatly reduce VA allocations we have to make and makes returned VA more
sensible, and better matches returned VAs we see on native drivers.

D3D12 usage flags for buffers seem generic enough that there
is no obvious benefit to place smaller VkBuffers on top of
VkDeviceMemory.

Ideally, physical_buffer_address is used here, but this works as a
good fallback if that path is added later.

With this patch and previous VA optimization, I'm observing a 2.0-2.5%
FPS uplift on SOTTR when CPU bound.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2019-10-03 12:06:16 +02:00
..
command.c vkd3d: Allocate one large buffer for a heap and offset into it. 2019-10-03 12:06:16 +02:00
device.c vkd3d: Allocate one large buffer for a heap and offset into it. 2019-10-03 12:06:16 +02:00
libvkd3d.pc.in build: Add some standard files. 2016-10-28 12:34:12 +02:00
resource.c vkd3d: Allocate one large buffer for a heap and offset into it. 2019-10-03 12:06:16 +02:00
state.c vkd3d: Fix MSVC build of state.c. 2019-10-01 19:15:56 +02:00
utils.c build: Enable -Wimplicit-fallthrough. 2019-08-06 17:05:04 +02:00
vkd3d.map vkd3d: Add stubs for versioned root signatures. 2019-04-10 18:56:55 +02:00
vkd3d_main.c vkd3d: Prefer versioned root signature structures. 2019-04-25 17:20:21 +02:00
vkd3d_private.h vkd3d: Allocate one large buffer for a heap and offset into it. 2019-10-03 12:06:16 +02:00
vulkan_procs.h vkd3d: Fix stray semicolon in vulkan_procs.h. 2019-10-01 19:15:29 +02:00