diff --git a/gapis/api/vulkan/api/descriptor.api b/gapis/api/vulkan/api/descriptor.api index e05dad39e0..a2fa96c2b7 100644 --- a/gapis/api/vulkan/api/descriptor.api +++ b/gapis/api/vulkan/api/descriptor.api @@ -627,6 +627,11 @@ cmd void vkUpdateDescriptorSets( bufferBindings := setBinding.BufferBinding bufferBindings[arrayIndex] = w.BufferInfo setBinding.BufferBinding = bufferBindings + for _, _, b in setBinding.BufferBinding { + if !b.Buffer in Buffers { + vkErrorInvalidBuffer(b.Buffer) + } + } } } set.Bindings[binding] = setBinding @@ -701,6 +706,11 @@ cmd void vkUpdateDescriptorSets( bufferBinding[c.DstArrayIndex] = srcBinding.BufferBinding[c.SrcArrayIndex] dstBinding.BufferBinding = bufferBinding + for _, _, b in dstBinding.BufferBinding { + if !b.Buffer in Buffers { + vkErrorInvalidBuffer(b.Buffer) + } + } } } dstSet.Bindings[c.DstBinding] = dstBinding diff --git a/gapis/api/vulkan/api/draw_commands.api b/gapis/api/vulkan/api/draw_commands.api index 2234cf2977..5450517888 100644 --- a/gapis/api/vulkan/api/draw_commands.api +++ b/gapis/api/vulkan/api/draw_commands.api @@ -348,6 +348,7 @@ sub void dovkCmdDrawIndexedIndirect(ref!vkCmdDrawIndexedIndirectArgs draw) { readWriteMemoryInBoundGraphicsDescriptorSets() readCoherentMemoryInBuffer(Buffers[draw.Buffer]) readIndexedIndirectDrawBuffer(draw.Buffer, draw.Offset, draw.DrawCount, draw.Stride) + // Read through all the vertex buffers. readMemoryInCurrentPipelineBoundVertexBuffers(0xFFFFFFFF, 0xFFFFFFFF, 0, 0) clearLastDrawInfoDrawCommandParameters()