1
0
Fork 0
forked from suyu/suyu
suyu/src/video_core
James Rowe 282adfc70b Frontend/GPU: Refactor context management
Changes the GraphicsContext to be managed by the GPU core. This
eliminates the need for the frontends to fool around with tricky
MakeCurrent/DoneCurrent calls that are dependent on the settings (such
as async gpu option).

This also refactors out the need to use QWidget::fromWindowContainer as
that caused issues with focus and input handling. Now we use a regular
QWidget and just access the native windowHandle() directly.

Another change is removing the debug tool setting in FrameMailbox.
Instead of trying to block the frontend until a new frame is ready, the
core will now take over presentation and draw directly to the window if
the renderer detects that its hooked by NSight or RenderDoc

Lastly, since it was in the way, I removed ScopeAcquireWindowContext and
replaced it with a simple subclass in GraphicsContext that achieves the
same result
2020-03-24 21:03:42 -06:00
..
buffer_cache buffer_cache: Delay buffer destructions 2020-01-29 17:53:11 -03:00
engines apply replay logic to all writes. remove replay from MacroInterpreter::Send (@fincs) 2020-03-22 22:25:44 +07:00
renderer_opengl Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
renderer_vulkan Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
shader Merge pull request #3505 from namkazt/patch-8 2020-03-19 17:41:01 -04:00
texture_cache Merge pull request #3501 from ReinUsesLisp/rgba16-snorm 2020-03-15 21:24:53 -03:00
textures astc: Fix clang build issues 2020-03-18 04:30:25 -03:00
CMakeLists.txt shader/transform_feedback: Add host API friendly TFB builder 2020-03-13 18:33:04 -03:00
dirty_flags.cpp DirtyFlags: relax need to set render_targets as dirty 2020-03-14 11:47:33 -04:00
dirty_flags.h DirtyFlags: relax need to set render_targets as dirty 2020-03-14 11:47:33 -04:00
dma_pusher.cpp video_core: Reintroduce dirty flags infrastructure 2020-02-28 17:56:41 -03:00
dma_pusher.h gpu: Rewrite virtual memory manager using PageTable. 2019-03-20 22:36:02 -04:00
gpu.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_asynch.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_asynch.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_synch.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_synch.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_thread.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
gpu_thread.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
guest_driver.cpp gl_shader_cache: Rework shader cache and remove post-specializations 2020-03-09 18:40:06 -03:00
guest_driver.h gl_shader_cache: Rework shader cache and remove post-specializations 2020-03-09 18:40:06 -03:00
macro_interpreter.cpp apply replay logic to all writes. remove replay from MacroInterpreter::Send (@fincs) 2020-03-22 22:25:44 +07: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: Flush/invalidate asynchronously on Unmap. 2020-02-19 20:03:52 -05:00
memory_manager.h PageTable: move backing addresses to a children class as the CPU page table does not need them. 2020-03-14 09:43:57 -04:00
morton.cpp video_core: Implement RGBA16_SNORM 2020-03-12 21:42:33 -03:00
morton.h renderer_opengl: Use block linear swizzling for CPU framebuffers 2019-08-21 02:17:14 -03:00
query_cache.h query_cache: Address feedback 2020-02-14 17:38:27 -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 yuzu/loading_screen: Remove unused shader progress mode 2020-03-09 18:40:53 -03:00
renderer_base.cpp video_core/engines: Remove unnecessary includes 2019-03-05 20:35:32 -05:00
renderer_base.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06: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 video_core: Implement RGBA16_SNORM 2020-03-12 21:42:33 -03:00
surface.h video_core: Implement RGBA16_SNORM 2020-03-12 21:42:33 -03:00
video_core.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
video_core.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00