yuzu/src/video_core
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
..
buffer_cache buffer_cache: Remove brace initialized for objects with default constructor 2019-11-20 16:00:40 -03:00
debug_utils general: Use deducation guides for std::lock_guard and std::unique_lock 2019-04-01 12:53:47 -04:00
engines Merge pull request #3244 from ReinUsesLisp/vk-fps 2019-12-25 14:31:29 -04:00
renderer_opengl Merge pull request #3236 from ReinUsesLisp/rasterize-enable 2019-12-24 22:54:10 -05:00
renderer_vulkan vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
shader Merge pull request #3235 from ReinUsesLisp/ldg-u8 2019-12-21 22:50:28 -05:00
texture_cache Texture Cache: Improve documentation 2019-12-22 12:29:23 -04:00
textures Texture Cache: Add HLE methods for building 3D textures within the GPU in certain scenarios. 2019-12-22 12:24:34 -04:00
CMakeLists.txt vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
dma_pusher.cpp GPU: Flush commands on every dma pusher step. 2019-07-26 16:54:22 -04:00
dma_pusher.h gpu: Rewrite virtual memory manager using PageTable. 2019-03-20 22:36:02 -04:00
gpu_asynch.cpp Core: Wait for GPU to be idle before shutting down. 2019-10-04 19:59:53 -04:00
gpu_asynch.h Core: Wait for GPU to be idle before shutting down. 2019-10-04 19:59:53 -04:00
gpu_synch.cpp gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig 2019-08-21 01:55:25 -03:00
gpu_synch.h Core: Wait for GPU to be idle before shutting down. 2019-10-04 19:59:53 -04:00
gpu_thread.cpp video_core/gpu_thread: Tidy up SwapBuffers() 2019-11-27 17:46:11 -05:00
gpu_thread.h Core: Wait for GPU to be idle before shutting down. 2019-10-04 19:59:53 -04:00
gpu.cpp Merge pull request #2912 from FernandoS27/async-fixes 2019-10-16 10:34:48 -04:00
gpu.h common_func: Use std::array for INSERT_PADDING_* macros. 2019-11-03 22:22:41 -05:00
macro_interpreter.cpp video_core/macro_interpreter: Make definitions of most private enums/unions hidden 2019-10-17 17:55:46 -04:00
macro_interpreter.h video_core/macro_interpreter: Make definitions of most private enums/unions hidden 2019-10-17 17:55:46 -04:00
memory_manager.cpp core/memory: Migrate over GetPointer() 2019-11-26 21:55:38 -05:00
memory_manager.h prefer system reference over global accessor 2019-07-09 08:11:35 -07:00
morton.cpp Video_Core: Implement texture format E5B9G9R9_SHAREDEXP. 2019-10-27 16:44:09 -04:00
morton.h renderer_opengl: Use block linear swizzling for CPU framebuffers 2019-08-21 02:17:14 -03:00
rasterizer_accelerated.cpp Added missing include 2019-12-11 18:11:49 +00:00
rasterizer_accelerated.h core: Prepare various classes for memory read/write migration 2019-11-26 21:55:37 -05:00
rasterizer_cache.cpp rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject 2018-11-08 00:31:39 -05:00
rasterizer_cache.h rasterizer_cache: Protect inherited caches from submission level 2019-07-01 04:32:01 -04:00
rasterizer_interface.h Maxwell3D: Corrections and refactors to MME instance refactor 2019-09-22 07:23:13 -04:00
renderer_base.cpp video_core/engines: Remove unnecessary includes 2019-03-05 20:35:32 -05:00
renderer_base.h gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig 2019-08-21 01:55:25 -03:00
sampler_cache.cpp video_core: Abstract vk_sampler_cache into a templated class 2019-04-02 15:54:11 -03:00
sampler_cache.h video_core: Abstract vk_sampler_cache into a templated class 2019-04-02 15:54:11 -03:00
surface.cpp texture_cache: Use a table instead of switch for texture formats 2019-11-14 20:57:10 -03:00
surface.h texture_cache: Use a table instead of switch for texture formats 2019-11-14 20:57:10 -03:00
video_core.cpp video_core: Silence implicit conversion warnings 2019-11-08 22:48:50 +00:00
video_core.h video_core/gpu: Create threads separately from initialization 2019-04-11 22:11:40 -04:00