From 2be819a364b704185cc1d353588e5ef12a433032 Mon Sep 17 00:00:00 2001 From: Bill Hollings Date: Sat, 17 Apr 2021 15:25:56 -0400 Subject: [PATCH] When using Metal argument buffers, include all descriptor bindings in all stages of shading compilation. --- MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm index 0f1eaff5..11b11b02 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptor.mm @@ -523,8 +523,9 @@ void MVKDescriptorSetLayoutBinding::populateShaderConverterContext(mvk::SPIRVToM MVKShaderResourceBinding mtlIdxs = _mtlResourceIndexOffsets + dslMTLRezIdxOffsets; uint32_t descCnt = getDescriptorCount(); + bool isUsingMtlArgBuff = isUsingMetalArgumentBuffer(); for (uint32_t stage = kMVKShaderStageVertex; stage < kMVKShaderStageMax; stage++) { - if (_applyToStage[stage] && descCnt > 0) { + if ((_applyToStage[stage] || isUsingMtlArgBuff) && descCnt > 0) { mvkPopulateShaderConverterContext(context, mtlIdxs.stages[stage], MVKShaderStage(stage),