mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-27 23:47:03 +02:00
[vk] Ensure image view flags are resolved
This commit is contained in:
parent
57d56086c4
commit
1f5b866290
1 changed files with 11 additions and 5 deletions
|
|
@ -2040,15 +2040,21 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const auto format_info = MaxwellToVK::SurfaceFormat(*device, FormatType::Optimal, true, format);
|
const auto format_info = MaxwellToVK::SurfaceFormat(*device, FormatType::Optimal, true, format);
|
||||||
if (ImageUsageFlags(format_info, format) != image.UsageFlags()) {
|
const VkImageUsageFlags desired_usage = ImageUsageFlags(format_info, format);
|
||||||
LOG_WARNING(Render_Vulkan,
|
const VkImageUsageFlags image_usage = image.UsageFlags();
|
||||||
"Image view format {} has different usage flags than image format {}", format,
|
|
||||||
image.info.format);
|
// ImageView usage must be a subset of the original image usage
|
||||||
|
const VkImageUsageFlags view_usage = desired_usage & image_usage;
|
||||||
|
|
||||||
|
if (desired_usage != image_usage) {
|
||||||
|
LOG_DEBUG(Render_Vulkan,
|
||||||
|
"Image view format {} usage flags (0x{:X}) restricted to image usage (0x{:X}), result: 0x{:X}",
|
||||||
|
format, desired_usage, image_usage, view_usage);
|
||||||
}
|
}
|
||||||
const VkImageViewUsageCreateInfo image_view_usage{
|
const VkImageViewUsageCreateInfo image_view_usage{
|
||||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
|
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
|
||||||
.pNext = nullptr,
|
.pNext = nullptr,
|
||||||
.usage = ImageUsageFlags(format_info, format),
|
.usage = view_usage,
|
||||||
};
|
};
|
||||||
const VkImageViewCreateInfo create_info{
|
const VkImageViewCreateInfo create_info{
|
||||||
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue