1
0
Fork 0
forked from suyu/suyu
suyu/src/video_core
ReinUsesLisp d708d03d20 video_core: Implement API agnostic view based texture cache
Implements an API agnostic texture view based texture cache. Classes
defined here are intended to be inherited by the API implementation and
used in API-specific code.

This implementation exposes protected virtual functions to be called
from the implementer.

Before executing any surface copies methods (defined in API-specific code)
it tries to detect if the overlapping surface is a superset and if it
is, it creates a view. Views are references of a subset of a surface, it
can be a superset view (the same as referencing the whole texture).
Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map
arrays with layer and mipmap level views. Texture 3D slices views are
not implemented.

If the view attempt fails, the fast path is invoked with the overlapping
textures (defined in the implementer). If that one fails (returning
nullptr) it will flush and reload the texture.
2019-03-22 13:34:04 -03:00
..
debug_utils
engines video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
renderer_opengl gl_rasterizer: Skip zero addr/sized regions on flush/invalidate. 2019-03-16 22:03:19 -04:00
renderer_vulkan gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
shader shader/decode: Remove extras from MetaTexture 2019-02-26 00:11:30 -03:00
textures video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
CMakeLists.txt video_core: Implement API agnostic view based texture cache 2019-03-22 13:34:04 -03:00
dma_pusher.cpp video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
dma_pusher.h video_core/dma_pusher: Simplyfy Step() logic. 2019-02-19 10:28:42 +01:00
gpu.cpp video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
gpu.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_asynch.cpp gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_asynch.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_synch.cpp gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_synch.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_thread.cpp gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
gpu_thread.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
macro_interpreter.cpp Fixed uninitialized memory due to missing returns in canary 2018-12-19 12:52:32 +11:00
macro_interpreter.h macro_interpreter: Implement AddWithCarry and SubtractWithBorrow. 2018-11-22 00:58:00 -05:00
memory_manager.cpp video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
memory_manager.h video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
morton.cpp video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
morton.h video_core: Refactor to use MemoryManager interface for all memory access. 2019-03-16 00:38:48 -04:00
rasterizer_cache.cpp rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject 2018-11-08 00:31:39 -05:00
rasterizer_cache.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
rasterizer_interface.h gpu: Use host address for caching instead of guest address. 2019-03-14 22:34:42 -04:00
renderer_base.cpp video_core/engines: Remove unnecessary includes 2019-03-05 20:35:32 -05:00
renderer_base.h yuzu, video_core: Screenshot functionality 2018-12-18 22:54:41 +01:00
surface.cpp video_core/surface: Remove obsolete TODO in PixelFormatFromRenderTargetFormat() 2019-03-05 10:15:06 -05:00
surface.h video_core: Remove unused Fill surface type 2019-02-01 02:57:47 -03:00
texture_cache.cpp video_core: Implement API agnostic view based texture cache 2019-03-22 13:34:04 -03:00
texture_cache.h video_core: Implement API agnostic view based texture cache 2019-03-22 13:34:04 -03:00
video_core.cpp gl_shader_disk_cache: Pass core system as argument and guard against games without title ids 2019-02-06 22:23:40 -03:00
video_core.h gl_shader_disk_cache: Pass core system as argument and guard against games without title ids 2019-02-06 22:23:40 -03:00