summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-16 21:31:15 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:28 +0200
commite3514bcd6b09f623da14c4f3c4ffd988e75577ed (patch)
tree8c7e375472cb6b654b9d462ae4a9b51575c38b93 /src/video_core/vulkan_common
parentspirv: Bitcast non-F32 attributes to F32 (diff)
downloadyuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.gz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.bz2
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.lz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.xz
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.tar.zst
yuzu-e3514bcd6b09f623da14c4f3c4ffd988e75577ed.zip
Diffstat (limited to 'src/video_core/vulkan_common')
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp5
-rw-r--r--src/video_core/vulkan_common/vulkan_device.h6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index f0de19ba1..72b83f99a 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -346,6 +346,10 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
LOG_INFO(Render_Vulkan, "Device doesn't support viewport swizzles");
}
+ if (!nv_viewport_array2) {
+ LOG_INFO(Render_Vulkan, "Device doesn't support viewport masks");
+ }
+
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR std430_layout;
if (khr_uniform_buffer_standard_layout) {
std430_layout = {
@@ -724,6 +728,7 @@ std::vector<const char*> Device::LoadExtensions(bool requires_surface) {
}
};
test(nv_viewport_swizzle, VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME, true);
+ test(nv_viewport_array2, VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME, true);
test(khr_uniform_buffer_standard_layout,
VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, true);
test(khr_spirv_1_4, VK_KHR_SPIRV_1_4_EXTENSION_NAME, true);
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h
index 4e6d13308..4415558bb 100644
--- a/src/video_core/vulkan_common/vulkan_device.h
+++ b/src/video_core/vulkan_common/vulkan_device.h
@@ -169,6 +169,11 @@ public:
return nv_viewport_swizzle;
}
+ /// Returns true if the device supports VK_NV_viewport_array2.
+ bool IsNvViewportArray2Supported() const {
+ return nv_viewport_array2;
+ }
+
/// Returns true if the device supports VK_KHR_uniform_buffer_standard_layout.
bool IsKhrUniformBufferStandardLayoutSupported() const {
return khr_uniform_buffer_standard_layout;
@@ -312,6 +317,7 @@ private:
bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
+ bool nv_viewport_array2{}; ///< Support for VK_NV_viewport_array2.
bool khr_uniform_buffer_standard_layout{}; ///< Support for scalar uniform buffer layouts.
bool khr_spirv_1_4{}; ///< Support for VK_KHR_spirv_1_4.
bool khr_workgroup_memory_explicit_layout{}; ///< Support for explicit workgroup layouts.