Browse Source
Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
pull/15/merge
liamwhite
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with
36 additions and
45 deletions
-
src/video_core/renderer_vulkan/blit_image.cpp
-
src/video_core/renderer_vulkan/renderer_vulkan.h
-
src/video_core/renderer_vulkan/vk_buffer_cache.cpp
-
src/video_core/renderer_vulkan/vk_compute_pass.cpp
-
src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
-
src/video_core/renderer_vulkan/vk_rasterizer.cpp
-
src/video_core/renderer_vulkan/vk_rasterizer.h
-
src/video_core/renderer_vulkan/vk_scheduler.cpp
-
src/video_core/renderer_vulkan/vk_texture_cache.cpp
-
src/video_core/renderer_vulkan/vk_texture_cache.h
-
src/video_core/vulkan_common/vulkan.h
-
src/video_core/vulkan_common/vulkan_instance.cpp
-
src/video_core/vulkan_common/vulkan_surface.cpp
-
src/video_core/vulkan_common/vulkan_wrapper.h
-
src/yuzu/vk_device_info.cpp
|
|
@ -3,6 +3,8 @@ |
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
|
|
|
#include "common/settings.h"
|
|
|
#include "common/settings.h"
|
|
|
#include "video_core/host_shaders/blit_color_float_frag_spv.h"
|
|
|
#include "video_core/host_shaders/blit_color_float_frag_spv.h"
|
|
|
#include "video_core/host_shaders/convert_abgr8_to_d24s8_frag_spv.h"
|
|
|
#include "video_core/host_shaders/convert_abgr8_to_d24s8_frag_spv.h"
|
|
|
@ -19,7 +21,6 @@ |
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_shader_util.h"
|
|
|
#include "video_core/renderer_vulkan/vk_shader_util.h"
|
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h"
|
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h"
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
#include "video_core/surface.h"
|
|
|
#include "video_core/surface.h"
|
|
|
#include "video_core/vulkan_common/vulkan_device.h"
|
|
|
#include "video_core/vulkan_common/vulkan_device.h"
|
|
|
|
|
|
@ -7,11 +7,12 @@ |
|
|
#include <string> |
|
|
#include <string> |
|
|
#include <variant> |
|
|
#include <variant> |
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_rasterizer.h" |
|
|
|
|
|
|
|
|
#include "common/dynamic_library.h" |
|
|
#include "common/dynamic_library.h" |
|
|
#include "video_core/renderer_base.h" |
|
|
#include "video_core/renderer_base.h" |
|
|
#include "video_core/renderer_vulkan/vk_blit_screen.h" |
|
|
#include "video_core/renderer_vulkan/vk_blit_screen.h" |
|
|
#include "video_core/renderer_vulkan/vk_present_manager.h" |
|
|
#include "video_core/renderer_vulkan/vk_present_manager.h" |
|
|
#include "video_core/renderer_vulkan/vk_rasterizer.h" |
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h" |
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h" |
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h" |
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h" |
|
|
#include "video_core/renderer_vulkan/vk_swapchain.h" |
|
|
#include "video_core/renderer_vulkan/vk_swapchain.h" |
|
|
|
|
|
@ -7,8 +7,9 @@ |
|
|
#include <span>
|
|
|
#include <span>
|
|
|
#include <vector>
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
|
|
|
@ -6,6 +6,8 @@ |
|
|
#include <optional>
|
|
|
#include <optional>
|
|
|
#include <utility>
|
|
|
#include <utility>
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
|
|
|
#include "common/assert.h"
|
|
|
#include "common/assert.h"
|
|
|
#include "common/common_types.h"
|
|
|
#include "common/common_types.h"
|
|
|
#include "common/div_ceil.h"
|
|
|
#include "common/div_ceil.h"
|
|
|
@ -16,7 +18,6 @@ |
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
#include "video_core/renderer_vulkan/vk_update_descriptor.h"
|
|
|
#include "video_core/texture_cache/accelerated_swizzle.h"
|
|
|
#include "video_core/texture_cache/accelerated_swizzle.h"
|
|
|
#include "video_core/texture_cache/types.h"
|
|
|
#include "video_core/texture_cache/types.h"
|
|
|
|
|
|
@ -7,9 +7,10 @@ |
|
|
#include <boost/container/small_vector.hpp>
|
|
|
#include <boost/container/small_vector.hpp>
|
|
|
#include <boost/container/static_vector.hpp>
|
|
|
#include <boost/container/static_vector.hpp>
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/pipeline_helper.h"
|
|
|
|
|
|
|
|
|
#include "common/bit_field.h"
|
|
|
#include "common/bit_field.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/pipeline_helper.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/pipeline_statistics.h"
|
|
|
#include "video_core/renderer_vulkan/pipeline_statistics.h"
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_graphics_pipeline.h"
|
|
|
#include "video_core/renderer_vulkan/vk_graphics_pipeline.h"
|
|
|
|
|
|
@ -6,6 +6,8 @@ |
|
|
#include <memory>
|
|
|
#include <memory>
|
|
|
#include <mutex>
|
|
|
#include <mutex>
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/renderer_vulkan.h"
|
|
|
|
|
|
|
|
|
#include "common/assert.h"
|
|
|
#include "common/assert.h"
|
|
|
#include "common/logging/log.h"
|
|
|
#include "common/logging/log.h"
|
|
|
#include "common/microprofile.h"
|
|
|
#include "common/microprofile.h"
|
|
|
@ -18,7 +20,6 @@ |
|
|
#include "video_core/renderer_vulkan/blit_image.h"
|
|
|
#include "video_core/renderer_vulkan/blit_image.h"
|
|
|
#include "video_core/renderer_vulkan/fixed_pipeline_state.h"
|
|
|
#include "video_core/renderer_vulkan/fixed_pipeline_state.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/renderer_vulkan.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_compute_pipeline.h"
|
|
|
#include "video_core/renderer_vulkan/vk_compute_pipeline.h"
|
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h"
|
|
|
|
|
|
@ -7,13 +7,14 @@ |
|
|
|
|
|
|
|
|
#include <boost/container/static_vector.hpp> |
|
|
#include <boost/container/static_vector.hpp> |
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h" |
|
|
|
|
|
|
|
|
#include "common/common_types.h" |
|
|
#include "common/common_types.h" |
|
|
#include "video_core/control/channel_state_cache.h" |
|
|
#include "video_core/control/channel_state_cache.h" |
|
|
#include "video_core/engines/maxwell_dma.h" |
|
|
#include "video_core/engines/maxwell_dma.h" |
|
|
#include "video_core/rasterizer_accelerated.h" |
|
|
#include "video_core/rasterizer_accelerated.h" |
|
|
#include "video_core/rasterizer_interface.h" |
|
|
#include "video_core/rasterizer_interface.h" |
|
|
#include "video_core/renderer_vulkan/blit_image.h" |
|
|
#include "video_core/renderer_vulkan/blit_image.h" |
|
|
#include "video_core/renderer_vulkan/vk_buffer_cache.h" |
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h" |
|
|
#include "video_core/renderer_vulkan/vk_descriptor_pool.h" |
|
|
#include "video_core/renderer_vulkan/vk_fence_manager.h" |
|
|
#include "video_core/renderer_vulkan/vk_fence_manager.h" |
|
|
#include "video_core/renderer_vulkan/vk_pipeline_cache.h" |
|
|
#include "video_core/renderer_vulkan/vk_pipeline_cache.h" |
|
|
|
|
|
@ -6,11 +6,12 @@ |
|
|
#include <thread>
|
|
|
#include <thread>
|
|
|
#include <utility>
|
|
|
#include <utility>
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_query_cache.h"
|
|
|
|
|
|
|
|
|
#include "common/microprofile.h"
|
|
|
#include "common/microprofile.h"
|
|
|
#include "common/thread.h"
|
|
|
#include "common/thread.h"
|
|
|
#include "video_core/renderer_vulkan/vk_command_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_command_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_master_semaphore.h"
|
|
|
#include "video_core/renderer_vulkan/vk_master_semaphore.h"
|
|
|
#include "video_core/renderer_vulkan/vk_query_cache.h"
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h"
|
|
|
#include "video_core/renderer_vulkan/vk_state_tracker.h"
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
@ -11,6 +11,8 @@ |
|
|
#include "common/bit_util.h"
|
|
|
#include "common/bit_util.h"
|
|
|
#include "common/settings.h"
|
|
|
#include "common/settings.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
|
|
|
#include "video_core/engines/fermi_2d.h"
|
|
|
#include "video_core/engines/fermi_2d.h"
|
|
|
#include "video_core/renderer_vulkan/blit_image.h"
|
|
|
#include "video_core/renderer_vulkan/blit_image.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
#include "video_core/renderer_vulkan/maxwell_to_vk.h"
|
|
|
@ -18,7 +20,6 @@ |
|
|
#include "video_core/renderer_vulkan/vk_render_pass_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_render_pass_cache.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_scheduler.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h"
|
|
|
#include "video_core/renderer_vulkan/vk_texture_cache.h"
|
|
|
|
|
|
#include "video_core/texture_cache/formatter.h"
|
|
|
#include "video_core/texture_cache/formatter.h"
|
|
|
#include "video_core/texture_cache/samples_helper.h"
|
|
|
#include "video_core/texture_cache/samples_helper.h"
|
|
|
#include "video_core/texture_cache/util.h"
|
|
|
#include "video_core/texture_cache/util.h"
|
|
|
|
|
|
@ -5,11 +5,12 @@ |
|
|
|
|
|
|
|
|
#include <span> |
|
|
#include <span> |
|
|
|
|
|
|
|
|
|
|
|
#include "video_core/texture_cache/texture_cache_base.h" |
|
|
|
|
|
|
|
|
#include "shader_recompiler/shader_info.h" |
|
|
#include "shader_recompiler/shader_info.h" |
|
|
#include "video_core/renderer_vulkan/vk_compute_pass.h" |
|
|
#include "video_core/renderer_vulkan/vk_compute_pass.h" |
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h" |
|
|
#include "video_core/renderer_vulkan/vk_staging_buffer_pool.h" |
|
|
#include "video_core/texture_cache/image_view_base.h" |
|
|
#include "video_core/texture_cache/image_view_base.h" |
|
|
#include "video_core/texture_cache/texture_cache_base.h" |
|
|
|
|
|
#include "video_core/vulkan_common/vulkan_memory_allocator.h" |
|
|
#include "video_core/vulkan_common/vulkan_memory_allocator.h" |
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h" |
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h" |
|
|
|
|
|
|
|
|
|
|
|
@ -8,6 +8,19 @@ |
|
|
#define VK_USE_PLATFORM_WIN32_KHR |
|
|
#define VK_USE_PLATFORM_WIN32_KHR |
|
|
#elif defined(__APPLE__) |
|
|
#elif defined(__APPLE__) |
|
|
#define VK_USE_PLATFORM_METAL_EXT |
|
|
#define VK_USE_PLATFORM_METAL_EXT |
|
|
|
|
|
#elif defined(__ANDROID__) |
|
|
|
|
|
#define VK_USE_PLATFORM_ANDROID_KHR |
|
|
|
|
|
#else |
|
|
|
|
|
#define VK_USE_PLATFORM_XLIB_KHR |
|
|
|
|
|
#define VK_USE_PLATFORM_WAYLAND_KHR |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#include <vulkan/vulkan.h> |
|
|
#include <vulkan/vulkan.h> |
|
|
|
|
|
|
|
|
|
|
|
// Sanitize macros |
|
|
|
|
|
#undef CreateEvent |
|
|
|
|
|
#undef CreateSemaphore |
|
|
|
|
|
#undef Always |
|
|
|
|
|
#undef False |
|
|
|
|
|
#undef None |
|
|
|
|
|
#undef True |
|
|
@ -14,19 +14,6 @@ |
|
|
#include "video_core/vulkan_common/vulkan_instance.h"
|
|
|
#include "video_core/vulkan_common/vulkan_instance.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
|
|
|
|
|
|
// Include these late to avoid polluting previous headers
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
|
// ensure include order
|
|
|
|
|
|
#include <vulkan/vulkan_win32.h>
|
|
|
|
|
|
#elif defined(__ANDROID__)
|
|
|
|
|
|
#include <vulkan/vulkan_android.h>
|
|
|
|
|
|
#elif !defined(__APPLE__)
|
|
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
|
|
#include <vulkan/vulkan_wayland.h>
|
|
|
|
|
|
#include <vulkan/vulkan_xlib.h>
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
namespace Vulkan { |
|
|
namespace Vulkan { |
|
|
namespace { |
|
|
namespace { |
|
|
|
|
|
|
|
|
|
|
|
@ -6,19 +6,6 @@ |
|
|
#include "video_core/vulkan_common/vulkan_surface.h"
|
|
|
#include "video_core/vulkan_common/vulkan_surface.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
|
|
|
|
|
|
// Include these late to avoid polluting previous headers
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
|
// ensure include order
|
|
|
|
|
|
#include <vulkan/vulkan_win32.h>
|
|
|
|
|
|
#elif defined(__ANDROID__)
|
|
|
|
|
|
#include <vulkan/vulkan_android.h>
|
|
|
|
|
|
#elif !defined(__APPLE__)
|
|
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
|
|
#include <vulkan/vulkan_wayland.h>
|
|
|
|
|
|
#include <vulkan/vulkan_xlib.h>
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
namespace Vulkan { |
|
|
namespace Vulkan { |
|
|
|
|
|
|
|
|
vk::SurfaceKHR CreateSurface( |
|
|
vk::SurfaceKHR CreateSurface( |
|
|
|
|
|
@ -15,14 +15,6 @@ |
|
|
#include "common/common_types.h" |
|
|
#include "common/common_types.h" |
|
|
#include "video_core/vulkan_common/vulkan.h" |
|
|
#include "video_core/vulkan_common/vulkan.h" |
|
|
|
|
|
|
|
|
// Sanitize macros |
|
|
|
|
|
#ifdef CreateEvent |
|
|
|
|
|
#undef CreateEvent |
|
|
|
|
|
#endif |
|
|
|
|
|
#ifdef CreateSemaphore |
|
|
|
|
|
#undef CreateSemaphore |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef _MSC_VER |
|
|
#ifdef _MSC_VER |
|
|
#pragma warning(disable : 26812) // Disable prefer enum class over enum |
|
|
#pragma warning(disable : 26812) // Disable prefer enum class over enum |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
@ -3,6 +3,9 @@ |
|
|
|
|
|
|
|
|
#include <utility>
|
|
|
#include <utility>
|
|
|
#include <vector>
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
#include "yuzu/qt_common.h"
|
|
|
|
|
|
|
|
|
#include "common/dynamic_library.h"
|
|
|
#include "common/dynamic_library.h"
|
|
|
#include "common/logging/log.h"
|
|
|
#include "common/logging/log.h"
|
|
|
#include "video_core/vulkan_common/vulkan_device.h"
|
|
|
#include "video_core/vulkan_common/vulkan_device.h"
|
|
|
@ -11,7 +14,6 @@ |
|
|
#include "video_core/vulkan_common/vulkan_surface.h"
|
|
|
#include "video_core/vulkan_common/vulkan_surface.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
|
|
#include "vulkan/vulkan_core.h"
|
|
|
#include "vulkan/vulkan_core.h"
|
|
|
#include "yuzu/qt_common.h"
|
|
|
|
|
|
#include "yuzu/vk_device_info.h"
|
|
|
#include "yuzu/vk_device_info.h"
|
|
|
|
|
|
|
|
|
class QWindow; |
|
|
class QWindow; |
|
|
|