video_core: improve image cube heuristic

This commit is contained in:
Daniel R. 2024-12-08 15:57:51 +01:00
parent b9da29b6dd
commit 87ea3e08a1

View file

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