dxvk/src/dxvk
Philip Rebohle f1f8d45fcd [dxvk] Rework allocation logic for large resources
This may reduce internal fragmentation with very large resources.

We previously changed behaviour to not do this in order to reduce memory
pressure in the average case, however by trying to suballocate from existing
chunks and falling back to a dedicated allocation on failure, rather than
allocating a new chunk, we can mostly avoid that situation.
2022-09-24 17:06:00 +02:00
..
hud [dxvk] Implement sampler reduction mode 2022-08-26 05:53:03 +02:00
platform [dxvk] Support for SDL2 WSI 2022-08-21 22:07:18 +02:00
shaders [dxvk] Get rid of immutable sampler for resolve operations 2022-09-12 18:59:58 +02:00
dxvk_adapter.cpp [dxvk] Enable VK_EXT_fragment_shader_interlock 2022-09-19 15:44:23 +02:00
dxvk_adapter.h [dxvk] Move getFormatLimits back to DxvkAdapter 2022-09-11 16:40:02 +02:00
dxvk_annotation.h [dxvk] Define IDXVKUserDefinedAnnotation 2022-03-17 11:35:19 +01:00
dxvk_barrier.cpp [dxvk] Defer host barriers until the end of the current command buffer 2022-09-08 19:26:55 +02:00
dxvk_barrier.h [dxvk] Defer host barriers until the end of the current command buffer 2022-09-08 19:26:55 +02:00
dxvk_bind_mask.h [dxvk] Get rid of MaxNumActiveBindings 2022-08-06 01:53:08 +02:00
dxvk_buffer.cpp [dxvk] Fix potential buffer lifetime issues 2022-08-31 23:48:34 +02:00
dxvk_buffer.h [dxvk] Remove unused m_device member from DxvkBuffer 2022-09-01 00:07:23 +02:00
dxvk_cmdlist.cpp [dxvk] Destroy command list fences 2022-09-08 19:26:33 +02:00
dxvk_cmdlist.h [dxvk] Go back to fence-based command list synchronization 2022-09-04 18:23:11 +02:00
dxvk_compute.cpp [dxvk] Add use counter to pipeline libraries 2022-08-09 13:40:58 +02:00
dxvk_compute.h [dxvk] Get rid of some old debug code for compute pipelines 2022-08-08 18:58:22 +02:00
dxvk_constant_state.h [dxvk] Add flat shading parameter to rasterizer state 2022-08-08 13:34:59 +02:00
dxvk_context.cpp [dxvk] Get rid of immutable sampler for resolve operations 2022-09-12 18:59:58 +02:00
dxvk_context.h [dxvk] Introduce initSparseImage 2022-08-26 05:53:03 +02:00
dxvk_context_state.h [dxvk] Improve behaviour when variableMultisampleRate is not supported 2022-09-04 18:28:27 +02:00
dxvk_cs.cpp [dxvk] Don't use spinlocks for CS chunk pool 2022-02-19 16:57:09 +01:00
dxvk_cs.h [dxvk] Allow mutable commands to be recorded into CS chunks 2022-07-16 20:19:46 +02:00
dxvk_data.cpp [dxvk] Remove std::vector from DxvkDataBuffer 2018-05-13 21:34:38 +02:00
dxvk_data.h [dxvk] Remove std::vector from DxvkDataBuffer 2018-05-13 21:34:38 +02:00
dxvk_descriptor.cpp [dxvk] Use DxvkBindingLayoutObjects for set lookup directly 2022-08-16 15:35:57 +02:00
dxvk_descriptor.h [dxvk] Use DxvkBindingLayoutObjects for set lookup directly 2022-08-16 15:35:57 +02:00
dxvk_device.cpp [dxvk] Move getFormatLimits back to DxvkAdapter 2022-09-11 16:40:02 +02:00
dxvk_device.h [dxvk] Move getFormatLimits back to DxvkAdapter 2022-09-11 16:40:02 +02:00
dxvk_device_filter.cpp [dxvk] Require Vulkan 1.3 adapter 2022-07-14 21:21:34 +02:00
dxvk_device_filter.h [dxvk] Skip CPU adapters if GPUs are present 2021-05-21 22:55:54 +02:00
dxvk_device_info.h [dxvk] Enable VK_EXT_fragment_shader_interlock 2022-09-19 15:44:23 +02:00
dxvk_extension_provider.h [dxvk] Move extension provider list to DxvkInstance 2019-11-11 23:30:07 +01:00
dxvk_extensions.cpp [dxvk] Work around device creation failure with CUDA interop extensions 2021-10-01 15:43:19 +02:00
dxvk_extensions.h [dxvk] Enable VK_EXT_fragment_shader_interlock 2022-09-19 15:44:23 +02:00
dxvk_fence.cpp [dxvk] Add feature check for external semaphores 2022-08-02 14:37:31 +02:00
dxvk_fence.h [dxvk] Fix value type in QueueItem 2022-09-10 22:55:58 +02:00
dxvk_format.cpp [dxvk] Optimize format lookup for simple formats 2022-07-15 17:25:34 +02:00
dxvk_format.h [dxvk] Allow querying external memory features for image formats 2022-09-11 16:40:02 +02:00
dxvk_framebuffer.cpp [dxvk] Remove render pass and framebuffer objects 2022-07-07 16:16:50 +02:00
dxvk_framebuffer.h [dxvk] Remove useless const qualifier on getColorAttachmentIndex return type 2022-09-10 21:27:04 +00:00
dxvk_gpu_event.cpp [dxvk] Clean up remaining object creation code 2022-07-18 14:52:12 +02:00
dxvk_gpu_event.h [dxvk] Get rid of spinlock when allocating GPU events 2022-02-20 01:16:04 +01:00
dxvk_gpu_query.cpp [dxvk] Clean up remaining object creation code 2022-07-18 14:52:12 +02:00
dxvk_gpu_query.h [dxvk] GPU query reset path 2022-03-30 13:32:18 +02:00
dxvk_graphics.cpp [dxvk] Use new pseudo-features where applicable 2022-09-04 18:28:27 +02:00
dxvk_graphics.h [dxvk] Implement lifetime tracking for graphics pipelines 2022-08-09 13:40:58 +02:00
dxvk_graphics_state.h [dxvk] Add flat shading field to pipeline state 2022-08-08 13:34:59 +02:00
dxvk_hash.h [dxvk] Added convenience equal checker for unordered maps 2018-05-24 20:18:37 +02:00
dxvk_image.cpp [dxvk] Clean up DxvkImage::canShareImage 2022-09-11 16:40:02 +02:00
dxvk_image.h [dxvk] Introduce DxvkPagedResource 2022-08-26 05:53:03 +02:00
dxvk_include.h [dxvk] Use small_vector to store image view format compatibility list 2020-01-16 18:50:23 +01:00
dxvk_instance.cpp [dxvk] Hide some more format compatibility validation errors 2022-09-16 17:24:33 +02:00
dxvk_instance.h [dxvk] Create debug messenger if DXVK_DEBUG=validation is set 2022-09-01 00:25:10 +02:00
dxvk_lifetime.cpp [dxvk] Rework DxvkResource lifetime tracking 2022-06-28 14:35:58 +02:00
dxvk_lifetime.h [dxvk] Rework DxvkResource lifetime tracking 2022-06-28 14:35:58 +02:00
dxvk_limits.h [dxvk] Get rid of MaxNumActiveBindings 2022-08-06 01:53:08 +02:00
dxvk_marker.h [dxvk] Introduce DxvkMarker 2022-08-10 17:31:55 +02:00
dxvk_memory.cpp [dxvk] Rework allocation logic for large resources 2022-09-24 17:06:00 +02:00
dxvk_memory.h [dxvk] Implement sparse memory allocator 2022-08-26 05:53:03 +02:00
dxvk_meta_blit.cpp [dxvk] Clean up more code around object creation in meta passes 2022-07-18 14:50:29 +02:00
dxvk_meta_blit.h [dxvk] Use dynamic rendering for blits and mip generation 2022-07-07 16:16:50 +02:00
dxvk_meta_clear.cpp [dxvk] Clean up more code around object creation in meta passes 2022-07-18 14:50:29 +02:00
dxvk_meta_clear.h [dxvk] Don't use alignas(16) for DxvkMetaClearArgs members 2019-10-07 22:01:47 +02:00
dxvk_meta_copy.cpp [dxvk] Use new pseudo-features where applicable 2022-09-04 18:28:27 +02:00
dxvk_meta_copy.h [dxvk] Use dynamic rendering for resolve operations 2022-07-07 16:16:50 +02:00
dxvk_meta_mipgen.cpp [dxvk] Use dynamic rendering for blits and mip generation 2022-07-07 16:16:50 +02:00
dxvk_meta_mipgen.h [dxvk] Use dynamic rendering for blits and mip generation 2022-07-07 16:16:50 +02:00
dxvk_meta_pack.cpp [dxvk] Get rid of sampler for pack operations 2022-09-12 14:20:30 +02:00
dxvk_meta_pack.h [dxvk] Get rid of sampler for pack operations 2022-09-12 14:20:30 +02:00
dxvk_meta_resolve.cpp [dxvk] Fix validation error on FS resolve path 2022-09-12 18:59:58 +02:00
dxvk_meta_resolve.h [dxvk] Get rid of immutable sampler for resolve operations 2022-09-12 18:59:58 +02:00
dxvk_objects.h [dxvk] Remove render pass and framebuffer objects 2022-07-07 16:16:50 +02:00
dxvk_openvr.cpp [dxvk] Downgrade missing OpenVR warning to info 2021-08-09 13:17:43 +02:00
dxvk_openvr.h Do not try to load libraries natively under __WINE__ 2021-07-03 14:28:28 +02:00
dxvk_openxr.cpp Do not try to load libraries natively under __WINE__ 2021-07-03 14:28:28 +02:00
dxvk_openxr.h Do not try to load libraries natively under __WINE__ 2021-07-03 14:28:28 +02:00
dxvk_options.cpp [dxvk] Remove shrinkNvidiaHVVHeap workaround 2022-08-10 16:39:58 +02:00
dxvk_options.h [dxvk] Change DXVK_PERF_EVENTS environment variable to DXVK_DEBUG 2022-09-01 00:25:10 +02:00
dxvk_pipelayout.cpp [dxvk] Change descriptor info to take only one shader stage 2022-08-17 22:40:58 +02:00
dxvk_pipelayout.h [dxvk] Change descriptor info to take only one shader stage 2022-08-17 22:40:58 +02:00
dxvk_pipemanager.cpp [dxvk] Fix race condition requestCompileShader 2022-08-18 02:57:45 +02:00
dxvk_pipemanager.h [dxvk] Fix race condition requestCompileShader 2022-08-18 02:57:45 +02:00
dxvk_platform_exts.h [dxvk] Fix multiple inclusion of dxvk_platform_exts.h 2019-11-28 17:43:08 +01:00
dxvk_queue.cpp [dxvk] Go back to fence-based command list synchronization 2022-09-04 18:23:11 +02:00
dxvk_queue.h [dxvk] Go back to fence-based command list synchronization 2022-09-04 18:23:11 +02:00
dxvk_recycler.h [dxvk] Make recycler a ring buffer 2022-06-28 14:32:30 +02:00
dxvk_renderpass.h [dxvk] Store clear values inside render pass ops 2022-07-07 16:16:51 +02:00
dxvk_resource.cpp [dxvk] Move image view cookie to DxvkResource 2022-08-07 21:24:57 +02:00
dxvk_resource.h [dxvk] Move image view cookie to DxvkResource 2022-08-07 21:24:57 +02:00
dxvk_sampler.cpp [dxvk] Implement sampler reduction mode 2022-08-26 05:53:03 +02:00
dxvk_sampler.h [dxvk] Implement sampler reduction mode 2022-08-26 05:53:03 +02:00
dxvk_shader.cpp [dxvk] Check whether SparseResidency capability is used in a shader 2022-09-05 07:51:08 +02:00
dxvk_shader.h [dxvk] Check whether SparseResidency capability is used in a shader 2022-09-05 07:51:08 +02:00
dxvk_shader_key.cpp [dxvk] Remove obsolete DxvkShaderKey constructor 2018-10-25 11:30:02 +02:00
dxvk_shader_key.h [dxvk] Add helper to retrieve SHA1 hash from shader key 2020-09-11 21:49:14 +01:00
dxvk_signal.cpp [util] Reimplement Signal 2019-11-26 16:11:46 +01:00
dxvk_signal.h [util] Reimplement Signal 2019-11-26 16:11:46 +01:00
dxvk_sparse.cpp [dxvk] Fix potential sparse allocator lifetime issues 2022-08-31 23:48:46 +02:00
dxvk_sparse.h [dxvk] Fix potential sparse allocator lifetime issues 2022-08-31 23:48:46 +02:00
dxvk_staging.cpp [dxvk] Free existing staging buffer before creating a new one 2022-02-18 18:13:28 +01:00
dxvk_staging.h [dxvk] Remove DxvkStagingDataAlloc 2022-02-13 02:08:20 +01:00
dxvk_state_cache.cpp [dxvk] Use path_string for getCacheFileName 2022-08-21 21:28:04 +02:00
dxvk_state_cache.h [dxvk] Use path_string for getCacheFileName 2022-08-21 21:28:04 +02:00
dxvk_state_cache_types.h [dxvk] Add flat shading field to pipeline state 2022-08-08 13:34:59 +02:00
dxvk_stats.cpp [hud] Added stat counters to the HUD 2018-04-03 14:49:13 +02:00
dxvk_stats.h [dxvk] Add stat counter for pipeline libraries 2022-07-09 13:41:07 +02:00
dxvk_swapchain_blitter.cpp [dxvk] Use new pseudo-features where applicable 2022-09-04 18:28:27 +02:00
dxvk_swapchain_blitter.h [dxvk] Use staging buffer for gamma ramp uploads 2022-02-13 02:08:19 +01:00
dxvk_unbound.cpp [dxvk] Implement sampler reduction mode 2022-08-26 05:53:03 +02:00
dxvk_unbound.h [dxvk] Explicitly initialize null descriptor structs 2022-07-15 15:59:54 +02:00
dxvk_util.cpp [dxvk] Introduce per-aspect version of computeImageDataSize 2022-09-05 04:31:13 +02:00
dxvk_util.h [dxvk] Introduce per-aspect version of computeImageDataSize 2022-09-05 04:31:13 +02:00
meson.build [dxvk] Link against dl for native builds 2022-09-07 17:02:54 +01:00