| Index: src/gpu/vk/GrVkCommandBuffer.cpp
|
| diff --git a/src/gpu/vk/GrVkCommandBuffer.cpp b/src/gpu/vk/GrVkCommandBuffer.cpp
|
| index 2868d8e1fdfc21f39aec18f72009853a890b8e50..94d4c9d2bb3144c1853e3ad6c7aaa3f1984e3e05 100644
|
| --- a/src/gpu/vk/GrVkCommandBuffer.cpp
|
| +++ b/src/gpu/vk/GrVkCommandBuffer.cpp
|
| @@ -141,6 +141,7 @@ void GrVkCommandBuffer::submitToQueue(const GrVkGpu* gpu, VkQueue queue, GrVkGpu
|
| submitInfo.pNext = nullptr;
|
| submitInfo.waitSemaphoreCount = 0;
|
| submitInfo.pWaitSemaphores = nullptr;
|
| + submitInfo.pWaitDstStageMask = 0;
|
| submitInfo.commandBufferCount = 1;
|
| submitInfo.pCommandBuffers = &fCmdBuffer;
|
| submitInfo.signalSemaphoreCount = 0;
|
| @@ -195,6 +196,11 @@ void GrVkCommandBuffer::pipelineBarrier(const GrVkGpu* gpu,
|
| BarrierType barrierType,
|
| void* barrier) const {
|
| SkASSERT(fIsActive);
|
| + // For images we can have barriers inside of render passes but they require us to add more
|
| + // support in subpasses which need self dependencies to have barriers inside them. Also, we can
|
| + // never have buffer barriers inside of a render pass. For now we will just assert that we are
|
| + // not in a render pass.
|
| + SkASSERT(!fActiveRenderPass);
|
| VkDependencyFlags dependencyFlags = byRegion ? VK_DEPENDENCY_BY_REGION_BIT : 0;
|
|
|
| switch (barrierType) {
|
| @@ -390,7 +396,6 @@ void GrVkCommandBuffer::bindDescriptorSets(const GrVkGpu* gpu,
|
|
|
| void GrVkCommandBuffer::bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline) {
|
| SkASSERT(fIsActive);
|
| - SkASSERT(fActiveRenderPass);
|
| GR_VK_CALL(gpu->vkInterface(), CmdBindPipeline(fCmdBuffer,
|
| VK_PIPELINE_BIND_POINT_GRAPHICS,
|
| pipeline->pipeline()));
|
|
|