1
0
Fork 0
forked from suyu/suyu
suyu/src/video_core
ReinUsesLisp aae8c180cb gl_query_cache: Implement host queries using a deferred cache
Instead of waiting immediately for executed commands, defer the query
until the guest CPU reads it. This way we get closer to what the guest
program is doing.

To archive this we have to build a dependency queue, because host APIs
(like OpenGL and Vulkan) use ranged queries instead of counters like
NVN.

Waiting for queries implicitly uses fences and this requires a command
being queued, otherwise the driver will lock waiting until a timeout. To
fix this when there are no commands queued, we explicitly call glFlush.
2020-02-14 17:33:13 -03:00
..
buffer_cache buffer_cache: Delay buffer destructions 2020-01-29 17:53:11 -03:00
engines gl_query_cache: Implement host queries using a deferred cache 2020-02-14 17:33:13 -03:00
renderer_opengl gl_query_cache: Implement host queries using a deferred cache 2020-02-14 17:33:13 -03:00
renderer_vulkan vk_rasterizer: Use noexcept variants of std::bitset 2020-02-04 18:04:24 -03:00
shader Merge pull request #3369 from ReinUsesLisp/shf 2020-02-07 22:06:57 -05:00
texture_cache texture_cache/surface_base: Fix layered break down 2020-01-26 21:48:07 -03: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 maxwell_3d: Slow implementation of passed samples (query 21) 2020-02-14 17:27:17 -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.cpp GPU: Address Feedback. 2020-02-13 18:16:07 -04:00
gpu.h GPU: Implement GPU Clock correctly. 2020-02-10 10:44:54 -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 gpu_thread: Use MPSCQueue for GPU commands. 2020-02-07 23:01:23 -05:00
guest_driver.cpp Shader_IR: Address Feedback 2020-01-24 16:43:30 -04:00
guest_driver.h Shader_IR: Address feedback. 2020-01-25 09:04:59 -04: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 video_core: memory_manager: Use GPU interface for cache functions. 2020-02-07 22:59:35 -05:00
memory_manager.h video_core: memory_manager: Use GPU interface for cache functions. 2020-02-07 22:59:35 -05: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.h rasterizer_cache: Protect inherited caches from submission level 2019-07-01 04:32:01 -04:00
rasterizer_interface.h gl_query_cache: Implement host queries using a deferred cache 2020-02-14 17:33:13 -03:00
renderer_base.cpp
renderer_base.h gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig 2019-08-21 01:55:25 -03:00
sampler_cache.cpp
sampler_cache.h
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 yuzu: Implement Vulkan frontend 2020-01-29 17:53:11 -03:00
video_core.h