video_core: improve image cube heuristic

This commit is contained in:
Daniel R. 2024-12-08 15:57:51 +01:00
parent 4fb2247196
commit 0b672a08ac
No known key found for this signature in database
GPG key ID: B8ADC8F57BA18DBA

View file

@ -151,8 +151,9 @@ Image::Image(const Vulkan::Instance& instance_, Vulkan::Scheduler& scheduler_,
// the texture cache should re-create the resource with the usage requested // the texture cache should re-create the resource with the usage requested
vk::ImageCreateFlags flags{vk::ImageCreateFlagBits::eMutableFormat | vk::ImageCreateFlags flags{vk::ImageCreateFlagBits::eMutableFormat |
vk::ImageCreateFlagBits::eExtendedUsage}; vk::ImageCreateFlagBits::eExtendedUsage};
const bool can_be_cube = (info.type == vk::ImageType::e2D) && const bool can_be_cube =
(info.resources.layers % 6 == 0) && (info.type == vk::ImageType::e2D) &&
(info.props.is_pow2 ? (info.resources.layers % 8) : (info.resources.layers % 6) == 0) &&
(info.size.width == info.size.height); (info.size.width == info.size.height);
if (info.props.is_cube || can_be_cube) { if (info.props.is_cube || can_be_cube) {
flags |= vk::ImageCreateFlagBits::eCubeCompatible; flags |= vk::ImageCreateFlagBits::eCubeCompatible;