yuzu/src/video_core/renderer_vulkan
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
..
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 maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
fixed_pipeline_state.h maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
maxwell_to_vk.cpp maxwell_to_vk: Sielence -Wswitch warning 2020-03-18 20:03:19 -03:00
maxwell_to_vk.h maxwell_3d: Flatten cull and front face registers 2020-02-28 17:56:41 -03:00
renderer_vulkan.cpp Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
renderer_vulkan.h Frontend/GPU: Refactor context management 2020-03-24 21:03:42 -06:00
vk_blit_screen.cpp vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_blit_screen.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_buffer_cache.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_buffer_cache.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_compute_pass.cpp vk_compute_pass: Address feedback 2020-01-10 22:46:34 -03:00
vk_compute_pass.h vk_compute_pass: Add compute passes to emulate missing Vulkan features 2020-01-08 19:24:26 -03:00
vk_compute_pipeline.cpp vk_shader_decompiler: Implement indexed textures 2020-02-24 01:26:07 -03:00
vk_compute_pipeline.h vk_compute_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_descriptor_pool.cpp Update src/video_core/renderer_vulkan/vk_descriptor_pool.cpp 2020-01-03 17:34:30 -03:00
vk_descriptor_pool.h vk_descriptor_pool: Initial implementation 2020-01-01 16:44:06 -03:00
vk_device.cpp Merge pull request #3501 from ReinUsesLisp/rgba16-snorm 2020-03-15 21:24:53 -03:00
vk_device.h vk_device: Enable VK_EXT_transform_feedback when available 2020-03-13 18:33:05 -03:00
vk_graphics_pipeline.cpp vk_shader_decompiler: Implement indexed textures 2020-02-24 01:26:07 -03:00
vk_graphics_pipeline.h vk_graphics_pipeline: Initial implementation 2020-01-06 22:02:26 -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: Avoid unnecesary equals 2019-12-30 13:28:23 -03:00
vk_memory_manager.cpp vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_memory_manager.h vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_pipeline_cache.cpp vk_pipeline_cache: Remove unused variable 2020-03-18 20:03:19 -03:00
vk_pipeline_cache.h vk_rasterizer: Reimplement clears with vkCmdClearAttachments 2020-03-15 03:40:41 -03:00
vk_query_cache.cpp vk_query_cache: Implement generic query cache on Vulkan 2020-02-14 17:38:27 -03:00
vk_query_cache.h vk_query_cache: Implement generic query cache on Vulkan 2020-02-14 17:38:27 -03:00
vk_rasterizer.cpp vk_rasterizer: Remove unused variable 2020-03-18 20:03:19 -03:00
vk_rasterizer.h vk_rasterizer: Reimplement clears with vkCmdClearAttachments 2020-03-15 03:40:41 -03:00
vk_renderpass_cache.cpp vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -03:00
vk_renderpass_cache.h vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -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 fixups mistake auto commit. 2020-02-19 01:24:32 +07:00
vk_sampler_cache.h vk_sampler_cache: Remove unused includes 2019-07-07 13:40:36 -04:00
vk_scheduler.cpp vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
vk_scheduler.h vk_state_tracker: Initial implementation 2020-02-28 17:56:43 -03:00
vk_shader_decompiler.cpp vk_shader_decompiler: fix linux build 2020-03-15 18:00:14 +01:00
vk_shader_decompiler.h vk_shader_decompiler: Use registry for specialization 2020-03-13 18:33:05 -03:00
vk_shader_util.cpp vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_shader_util.h vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_staging_buffer_pool.cpp vk_staging_buffer_pool: Silence unused constant warning 2020-03-18 20:03:19 -03:00
vk_staging_buffer_pool.h vk_texture_cache: Implement generic texture cache on Vulkan 2020-01-13 20:37:50 -03:00
vk_state_tracker.cpp DirtyFlags: relax need to set render_targets as dirty 2020-03-14 11:47:33 -04:00
vk_state_tracker.h state_tracker: Remove type traits with named structures 2020-02-28 17:56:43 -03:00
vk_stream_buffer.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_stream_buffer.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_swapchain.cpp vk_swapchain: Silence TOCTOU race condition 2020-02-26 17:07:18 -03:00
vk_swapchain.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_texture_cache.cpp vk_texture_cache: Silence misc warnings 2020-03-18 20:03:19 -03:00
vk_texture_cache.h texture_cache: Implement layered framebuffer attachments 2020-02-16 04:19:32 -03:00
vk_update_descriptor.cpp vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00
vk_update_descriptor.h vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00