diff --git a/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp b/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp index 4438d40223..76019d325c 100644 --- a/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp +++ b/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp @@ -53,6 +53,22 @@ angle::Result VkImageImageSiblingVk::initImpl(DisplayVk *displayVk) ? vk::ImageFormatSupport::Renderable : vk::ImageFormatSupport::SampleOnly; angle::FormatID actualImageFormatID = vkFormat.getActualImageFormatID(formatSupport); + // POC OBSERVATION ONLY (no behavior change): print the format the wrapped + // VkImage was actually created with vs. the format ANGLE will record/use + // for vkCreateImageView. When these differ on a flags=0 image, every + // subsequent view violates VUID-VkImageViewCreateInfo-image-01762. + fprintf(stderr, + "[POC-GPU] VkImageImageSiblingVk::initImpl: caller VkFormat=%u " + "(ANGLE FormatID=%u), ANGLE-selected actualImageFormatID=%u " + "(VkFormat=%u), createFlags=0x%x, usage=0x%x %s\n", + (unsigned)mVkImageInfo.format, (unsigned)formatID, + (unsigned)actualImageFormatID, + (unsigned)vk::GetVkFormatFromFormatID(renderer, actualImageFormatID), + (unsigned)mVkImageInfo.flags, (unsigned)mVkImageInfo.usage, + actualImageFormatID != formatID + ? "<<< FORMAT MISMATCH - wrapped VkImage will be viewed in an " + "incompatible format class >>>" + : ""); if (renderer->getFeatures().preferBGR565ToRGB565.enabled && formatID == angle::FormatID::R5G6B5_UNORM && actualImageFormatID == angle::FormatID::B5G6R5_UNORM)