diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-09-24 16:50:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-24 16:50:04 +0200 |
commit | b3569092124136433b5a38586dbc8ca8512406eb (patch) | |
tree | d3d9c67331bd345a5acb0ae78225b8518f8d2291 /src/video_core/vulkan_common/vulkan_device.cpp | |
parent | Merge pull request #11567 from liamwhite/fixing-my-error (diff) | |
parent | vulkan_device: Test depth stencil blit support by format (diff) | |
download | yuzu-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.cpp | 8 |
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, |