mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d: Co-locate all descriptor-related members.
To optimise cache coherence, because decriptor updates use the most performance-critical code paths.
This commit is contained in:
parent
a2741babd9
commit
b8694fd879
Notes:
Alexandre Julliard
2023-12-14 23:31:17 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/292
@ -1760,6 +1760,19 @@ struct d3d12_device
|
||||
struct vkd3d_desc_object_cache view_desc_cache;
|
||||
struct vkd3d_desc_object_cache cbuffer_desc_cache;
|
||||
|
||||
VkDescriptorPoolSize vk_pool_sizes[VKD3D_DESCRIPTOR_POOL_COUNT];
|
||||
unsigned int vk_pool_count;
|
||||
struct vkd3d_vk_descriptor_heap_layout vk_descriptor_heap_layouts[VKD3D_SET_INDEX_COUNT];
|
||||
bool use_vk_heaps;
|
||||
|
||||
struct d3d12_descriptor_heap **heaps;
|
||||
size_t heap_capacity;
|
||||
size_t heap_count;
|
||||
union vkd3d_thread_handle worker_thread;
|
||||
struct vkd3d_mutex worker_mutex;
|
||||
struct vkd3d_cond worker_cond;
|
||||
bool worker_should_exit;
|
||||
|
||||
struct vkd3d_mutex pipeline_cache_mutex;
|
||||
struct vkd3d_render_pass_cache render_pass_cache;
|
||||
VkPipelineCache vk_pipeline_cache;
|
||||
@ -1800,19 +1813,6 @@ struct d3d12_device
|
||||
const struct vkd3d_format_compatibility_list *format_compatibility_lists;
|
||||
struct vkd3d_null_resources null_resources;
|
||||
struct vkd3d_uav_clear_state uav_clear_state;
|
||||
|
||||
VkDescriptorPoolSize vk_pool_sizes[VKD3D_DESCRIPTOR_POOL_COUNT];
|
||||
unsigned int vk_pool_count;
|
||||
struct vkd3d_vk_descriptor_heap_layout vk_descriptor_heap_layouts[VKD3D_SET_INDEX_COUNT];
|
||||
bool use_vk_heaps;
|
||||
|
||||
struct d3d12_descriptor_heap **heaps;
|
||||
size_t heap_capacity;
|
||||
size_t heap_count;
|
||||
union vkd3d_thread_handle worker_thread;
|
||||
struct vkd3d_mutex worker_mutex;
|
||||
struct vkd3d_cond worker_cond;
|
||||
bool worker_should_exit;
|
||||
};
|
||||
|
||||
HRESULT d3d12_device_create(struct vkd3d_instance *instance,
|
||||
|
Loading…
x
Reference in New Issue
Block a user