yuzu/src/video_core/renderer_vulkan
ReinUsesLisp c83bf7cd1e
vk_image: Add an image object abstraction
This object's job is to contain an image and manage its transitions.
Since Nvidia hardware doesn't know what a transition is but Vulkan
requires them anyway, we have to state track image subresources
individually.

To avoid the overhead of tracking each subresource in images with many
subresources (think of cubemap arrays with several mipmaps), this commit
tracks when subresources have diverged. As long as this doesn't happen
we can check the state of the first subresource (that will be shared
with all subresources) and update accordingly.

Image transitions are deferred to the scheduler command buffer.
2019-12-25 18:00:16 -03:00
..
shaders renderer_vulkan/shader: Add helper GLSL shaders 2019-12-16 17:59:08 -03:00
declarations.h externals: Update Vulkan-Headers 2019-12-08 22:08:19 -03:00
fixed_pipeline_state.cpp fixed_pipeline_state: Define symetric operator!= and mark as noexcept 2019-12-24 18:24:08 -03:00
fixed_pipeline_state.h fixed_pipeline_state: Define symetric operator!= and mark as noexcept 2019-12-24 18:24:08 -03:00
maxwell_to_vk.cpp maxwell_to_vk: Improve image format table and add more formats 2019-12-13 03:12:29 -03:00
maxwell_to_vk.h maxwell_to_vk: Improve image format table and add more formats 2019-12-13 03:12:29 -03:00
vk_buffer_cache.cpp core/memory: Migrate over GetPointer() 2019-11-26 21:55:38 -05:00
vk_buffer_cache.h core: Prepare various classes for memory read/write migration 2019-11-26 21:55:37 -05:00
vk_device.cpp vk_device: Add entry to catch device losses 2019-12-19 16:31:33 -03:00
vk_device.h vk_device: Add entry to catch device losses 2019-12-19 16:31:33 -03:00
vk_image.cpp vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
vk_image.h vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
vk_memory_manager.cpp vk_memory_manager: Reorder constructor initializer list in terms of member declaration order 2019-02-27 11:08:19 -05:00
vk_memory_manager.h vk_memory_manager: Implement memory manager 2019-02-19 03:42:28 -03:00
vk_resource_manager.cpp vk_reosurce_manager: Add assert for releasing fences 2019-12-19 16:31:34 -03:00
vk_resource_manager.h vk_resource_manager: Add entry to VKFence to test its usage 2019-12-19 16:31:34 -03:00
vk_sampler_cache.cpp maxwell_to_vk: Approach GL_CLAMP closer to the GL spec 2019-12-13 03:12:28 -03:00
vk_sampler_cache.h vk_sampler_cache: Remove unused includes 2019-07-07 13:40:36 -04:00
vk_scheduler.cpp vk_scheduler: Delegate commands to a worker thread and state track 2019-12-13 02:24:48 -03:00
vk_scheduler.h vk_scheduler: Delegate commands to a worker thread and state track 2019-12-13 02:24:48 -03:00
vk_shader_decompiler.cpp Merge pull request #3237 from ReinUsesLisp/vk-shader-decompiler 2019-12-22 12:36:56 -04:00
vk_shader_decompiler.h vk_shader_decompiler: Skip NDC correction when it is native 2019-12-19 16:24:45 -03:00
vk_stream_buffer.cpp vk_scheduler: Drop execution context in favor of views 2019-07-07 03:30:22 -03:00
vk_stream_buffer.h vk_scheduler: Drop execution context in favor of views 2019-07-07 03:30:22 -03:00
vk_swapchain.cpp vk_swapchain: Add support for swapping sRGB 2019-12-06 22:42:08 -03:00
vk_swapchain.h vk_swapchain: Add support for swapping sRGB 2019-12-06 22:42:08 -03:00