Merge pull request #1105 from cdavis5e/ycbcr-single-plane-formats
MVKSamplerYcbcrConversion: Always make sure there is one plane.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index d742c73..f213f47 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -1823,7 +1823,7 @@
MVKSamplerYcbcrConversion::MVKSamplerYcbcrConversion(MVKDevice* device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo) : MVKVulkanAPIDeviceObject(device) {
MVKPixelFormats* pixFmts = getPixelFormats();
- _planes = pixFmts->getChromaSubsamplingPlaneCount(pCreateInfo->format);
+ _planes = std::max(pixFmts->getChromaSubsamplingPlaneCount(pCreateInfo->format), (uint8_t)1u);
_bpc = pixFmts->getChromaSubsamplingComponentBits(pCreateInfo->format);
_resolution = pixFmts->getChromaSubsamplingResolution(pCreateInfo->format);
_chroma_filter = getSpvMinMagFilterFromVkFilter(pCreateInfo->chromaFilter);