vkd3d-proton/libs/vkd3d
Rodrigo Locatti b4cb5a37f8 vkd3d: Optimize repeated null descriptor updates
There are titles clearing the same descriptors constantly.
This leads to unnecessary updates that can become costly.

This commit introduces a new flag to track when D3D12 descriptors are
not null, and skips clearing them if they are already null.
Descriptors are assumed to be null by default.

This fixes a performance regression introduced by
9983a1720f

Signed-off-by: Rodrigo Locatti <rlocatti@nvidia.com>
2021-09-02 21:21:34 +02:00
..
shaders meta: Add fs_copy_uint path. 2021-05-05 00:11:10 +02:00
acceleration_structure.c vkd3d: Introduce vkd3d_internal_get_vk_format. 2021-06-24 12:55:17 +02:00
bundle.c vkd3d: Add bundle allocator and command list implementation. 2021-04-14 16:24:55 +02:00
cache.c vkd3d: Refactor SetName implementation 2021-02-25 21:51:43 +01:00
command.c vkd3d: Remove deferred clears. 2021-09-02 17:11:35 +02:00
command_list_profiled.h vkd3d: Refactor SetName implementation 2021-02-25 21:51:43 +01:00
command_list_vkd3d_ext.c vkd3d: Implement new interfaces required for DX12 DLSS support. 2021-08-27 11:37:15 +02:00
debug_ring.c vkd3d: Fix potential deadlock in debug ring. 2021-06-11 11:04:38 +02:00
descriptor_debug.c vkd3d: Fix potential deadlock in descriptor QA checks. 2021-06-11 11:04:38 +02:00
device.c vkd3d: Fix MSVC build. 2021-09-02 16:56:39 +02:00
device_profiled.h vkd3d: Refactor SetName implementation 2021-02-25 21:51:43 +01:00
device_vkd3d_ext.c vkd3d: Fix MSVC build. 2021-09-02 16:56:39 +02:00
heap.c vkd3d: Refactor SetName implementation 2021-02-25 21:51:43 +01:00
memory.c vkd3d: Add config to use host-visible vram for UPLOAD heap 2021-08-23 13:24:43 +02:00
meson.build vkd3d: Implement new interfaces required for DX12 DLSS support. 2021-08-27 11:37:15 +02:00
meta.c vkd3d: Handle separate DS layout for destination copies. 2021-07-07 15:31:52 +02:00
platform.c meta: Add missing newlines to end of files 2020-11-05 17:16:57 +01:00
raytracing_pipeline.c vkd3d: Validate shader meta against features. 2021-07-28 15:28:19 +02:00
renderdoc.c meta: Add missing newlines to end of files 2020-11-05 17:16:57 +01:00
resource.c vkd3d: Optimize repeated null descriptor updates 2021-09-02 21:21:34 +02:00
state.c vkd3d: Ignore depth/stencil test if DSVFormat does not have that aspect. 2021-09-02 16:25:27 +02:00
swapchain.c vkd3d: Reimplement frame latency event as a semaphore. 2021-08-26 14:21:38 +02:00
utils.c vkd3d: Generalize get_plane_footprints. 2021-09-02 12:21:22 +02:00
va_map.c vkd3d: Fix some const warnings on MSVC. 2021-03-10 10:48:01 +00:00
vkd3d_descriptor_debug.h vkd3d: Rewrite descriptor QA. 2021-05-26 17:26:01 +02:00
vkd3d_main.c vkd3d: Remove type/next from vkd3d device/instance structures 2021-04-20 18:25:41 +02:00
vkd3d_private.h vkd3d: Optimize repeated null descriptor updates 2021-09-02 21:21:34 +02:00
vkd3d_renderdoc.h include: Remove DECLSPEC_HIDDEN from headers 2020-10-05 10:44:10 +02:00
vkd3d_shaders.h meta: Add fs_copy_uint path. 2021-05-05 00:11:10 +02:00
vulkan_procs.h vkd3d: Fix MSVC build. 2021-09-02 16:56:39 +02:00