summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common/vulkan_device.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-09-24 16:50:04 +0200
committerGitHub <noreply@github.com>2023-09-24 16:50:04 +0200
commitb3569092124136433b5a38586dbc8ca8512406eb (patch)
treed3d9c67331bd345a5acb0ae78225b8518f8d2291 /src/video_core/vulkan_common/vulkan_device.cpp
parentMerge pull request #11567 from liamwhite/fixing-my-error (diff)
parentvulkan_device: Test depth stencil blit support by format (diff)
downloadyuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar.gz
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar.bz2
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar.lz
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar.xz
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.tar.zst
yuzu-b3569092124136433b5a38586dbc8ca8512406eb.zip
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.cpp')
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index a88ff5ca5..18185610f 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -428,7 +428,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
first_next = &diagnostics_nv;
}
- is_blit_depth_stencil_supported = TestDepthStencilBlits();
+ is_blit_depth24_stencil8_supported = TestDepthStencilBlits(VK_FORMAT_D24_UNORM_S8_UINT);
+ is_blit_depth32_stencil8_supported = TestDepthStencilBlits(VK_FORMAT_D32_SFLOAT_S8_UINT);
is_optimal_astc_supported = ComputeIsOptimalAstcSupported();
is_warp_potentially_bigger = !extensions.subgroup_size_control ||
properties.subgroup_size_control.maxSubgroupSize > GuestWarpSize;
@@ -782,14 +783,13 @@ bool Device::ComputeIsOptimalAstcSupported() const {
return true;
}
-bool Device::TestDepthStencilBlits() const {
+bool Device::TestDepthStencilBlits(VkFormat format) const {
static constexpr VkFormatFeatureFlags required_features =
VK_FORMAT_FEATURE_BLIT_SRC_BIT | VK_FORMAT_FEATURE_BLIT_DST_BIT;
const auto test_features = [](VkFormatProperties props) {
return (props.optimalTilingFeatures & required_features) == required_features;
};
- return test_features(format_properties.at(VK_FORMAT_D32_SFLOAT_S8_UINT)) &&
- test_features(format_properties.at(VK_FORMAT_D24_UNORM_S8_UINT));
+ return test_features(format_properties.at(format));
}
bool Device::IsFormatSupported(VkFormat wanted_format, VkFormatFeatureFlags wanted_usage,