shadPS4/src/video_core/renderer_vulkan
TheTurtle 1fb0da9b89
video_core: Crucial buffer cache fixes + proper GPU clears (#414)
* translator: Use templates for stronger type guarantees

* spirv: Define buffer offsets upfront

* Saves a lot of shader instructions

* buffer_cache: Use dynamic vertex input when available

* Fixes issues when games like dark souls rebind vertex buffers with different stride

* externals: Update boost

* spirv: Use runtime array for ssbos

* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders

* fs: Lock when doing case insensitive search

* Dark Souls does fs lookups from different threads

* texture_cache: More precise invalidation from compute

* Fixes unrelated render targets being cleared

* texture_cache: Use hashes for protect gpu modified images from reupload

* translator: Treat V_CNDMASK as float

* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway

* translator: Small optimization for V_SAD_U32

* Fix review

* clang format
2024-08-13 09:21:48 +03:00
..
liverpool_to_vk.cpp add-SurfaceFormat (#365) 2024-08-04 22:17:34 +02:00
liverpool_to_vk.h Change format list from vector to array/span. 2024-07-21 22:36:12 +03:00
renderer_vulkan.cpp video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
renderer_vulkan.h video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_common.cpp video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_common.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_compute_pipeline.cpp video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_compute_pipeline.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
vk_descriptor_update_queue.cpp video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_descriptor_update_queue.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_graphics_pipeline.cpp video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_graphics_pipeline.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
vk_instance.cpp video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_instance.h video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_master_semaphore.cpp Move presentation to separate thread/improve sync (#303) 2024-07-28 15:54:09 +02:00
vk_master_semaphore.h Move presentation to separate thread/improve sync (#303) 2024-07-28 15:54:09 +02:00
vk_pipeline_cache.cpp video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
vk_pipeline_cache.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
vk_platform.cpp Video Core: debug tools (#412) 2024-08-12 13:46:45 +02:00
vk_platform.h Downgrade Vulkan requirement to 1.2 with extensions. 2024-07-21 22:36:12 +03:00
vk_rasterizer.cpp Build stabilization (#413) 2024-08-12 17:23:01 +03:00
vk_rasterizer.h Video Core: debug tools (#412) 2024-08-12 13:46:45 +02:00
vk_resource_pool.cpp video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_resource_pool.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_scheduler.cpp Build stabilization (#413) 2024-08-12 17:23:01 +03:00
vk_scheduler.h Build stabilization (#413) 2024-08-12 17:23:01 +03:00
vk_shader_util.cpp fix system include paths 2024-06-25 18:17:16 +02:00
vk_shader_util.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
vk_swapchain.cpp Move presentation to separate thread/improve sync (#303) 2024-07-28 15:54:09 +02:00
vk_swapchain.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00