diff options
| author | 2023-05-01 20:25:53 -0400 | |
|---|---|---|
| committer | 2023-05-02 21:51:30 -0400 | |
| commit | c6c11c1553675bc48a80acf6c966134eb32b5364 (patch) | |
| tree | f5ac13995ab37d69340abe2ca4a13a27c929fd83 /src | |
| parent | settings: Enable FIFO relaxed (diff) | |
| download | yuzu-c6c11c1553675bc48a80acf6c966134eb32b5364.tar.gz yuzu-c6c11c1553675bc48a80acf6c966134eb32b5364.tar.xz yuzu-c6c11c1553675bc48a80acf6c966134eb32b5364.zip | |
vulkan_surface: Pass only window info for surface creation
We don't need the whole EmuWindow when creating a surface,
and it creates onerous requirements outside of typical usage for
creating a surface elsewhere.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/renderer_vulkan.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_surface.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_surface.h | 9 |
3 files changed, 7 insertions, 10 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index 69dc76180..94ae2a2f8 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp | |||
| @@ -88,7 +88,7 @@ RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_, | |||
| 88 | instance(CreateInstance(library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type, | 88 | instance(CreateInstance(library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type, |
| 89 | Settings::values.renderer_debug.GetValue())), | 89 | Settings::values.renderer_debug.GetValue())), |
| 90 | debug_callback(Settings::values.renderer_debug ? CreateDebugCallback(instance) : nullptr), | 90 | debug_callback(Settings::values.renderer_debug ? CreateDebugCallback(instance) : nullptr), |
| 91 | surface(CreateSurface(instance, render_window)), | 91 | surface(CreateSurface(instance, render_window.GetWindowInfo())), |
| 92 | device(CreateDevice(instance, dld, *surface)), memory_allocator(device, false), | 92 | device(CreateDevice(instance, dld, *surface)), memory_allocator(device, false), |
| 93 | state_tracker(), scheduler(device, state_tracker), | 93 | state_tracker(), scheduler(device, state_tracker), |
| 94 | swapchain(*surface, device, scheduler, render_window.GetFramebufferLayout().width, | 94 | swapchain(*surface, device, scheduler, render_window.GetFramebufferLayout().width, |
diff --git a/src/video_core/vulkan_common/vulkan_surface.cpp b/src/video_core/vulkan_common/vulkan_surface.cpp index fa9bafa20..c34599365 100644 --- a/src/video_core/vulkan_common/vulkan_surface.cpp +++ b/src/video_core/vulkan_common/vulkan_surface.cpp | |||
| @@ -23,10 +23,10 @@ | |||
| 23 | 23 | ||
| 24 | namespace Vulkan { | 24 | namespace Vulkan { |
| 25 | 25 | ||
| 26 | vk::SurfaceKHR CreateSurface(const vk::Instance& instance, | 26 | vk::SurfaceKHR CreateSurface( |
| 27 | const Core::Frontend::EmuWindow& emu_window) { | 27 | const vk::Instance& instance, |
| 28 | [[maybe_unused]] const Core::Frontend::EmuWindow::WindowSystemInfo& window_info) { | ||
| 28 | [[maybe_unused]] const vk::InstanceDispatch& dld = instance.Dispatch(); | 29 | [[maybe_unused]] const vk::InstanceDispatch& dld = instance.Dispatch(); |
| 29 | [[maybe_unused]] const auto& window_info = emu_window.GetWindowInfo(); | ||
| 30 | VkSurfaceKHR unsafe_surface = nullptr; | 30 | VkSurfaceKHR unsafe_surface = nullptr; |
| 31 | 31 | ||
| 32 | #ifdef _WIN32 | 32 | #ifdef _WIN32 |
diff --git a/src/video_core/vulkan_common/vulkan_surface.h b/src/video_core/vulkan_common/vulkan_surface.h index 5725143e6..5e18c06c4 100644 --- a/src/video_core/vulkan_common/vulkan_surface.h +++ b/src/video_core/vulkan_common/vulkan_surface.h | |||
| @@ -3,15 +3,12 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "core/frontend/emu_window.h" | ||
| 6 | #include "video_core/vulkan_common/vulkan_wrapper.h" | 7 | #include "video_core/vulkan_common/vulkan_wrapper.h" |
| 7 | 8 | ||
| 8 | namespace Core::Frontend { | ||
| 9 | class EmuWindow; | ||
| 10 | } | ||
| 11 | |||
| 12 | namespace Vulkan { | 9 | namespace Vulkan { |
| 13 | 10 | ||
| 14 | [[nodiscard]] vk::SurfaceKHR CreateSurface(const vk::Instance& instance, | 11 | [[nodiscard]] vk::SurfaceKHR CreateSurface( |
| 15 | const Core::Frontend::EmuWindow& emu_window); | 12 | const vk::Instance& instance, const Core::Frontend::EmuWindow::WindowSystemInfo& window_info); |
| 16 | 13 | ||
| 17 | } // namespace Vulkan | 14 | } // namespace Vulkan |