From 87bb8d813cf55011df0b5845e38e68f5a7a6f1a1 Mon Sep 17 00:00:00 2001 From: Gary Sweet Date: Thu, 16 Mar 2017 13:26:53 +0000 Subject: [PATCH] Add missing flushes for indirect draws Buffers were being mapped and written, but not flushed before use. This affected the indirect draw tests when running with a non-coherent heap. Affects: dEQP-VK.draw.indirect_draw.* Components: Vulkan VK-GL-CTS issue: 210 Change-Id: Ie8920bea727419a1da22b8e2d9babcca2c6593fe --- external/vulkancts/modules/vulkan/draw/vktDrawIndirectTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawIndirectTest.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawIndirectTest.cpp index 5f3a4d1..56347ca 100644 --- a/external/vulkancts/modules/vulkan/draw/vktDrawIndirectTest.cpp +++ b/external/vulkancts/modules/vulkan/draw/vktDrawIndirectTest.cpp @@ -256,7 +256,7 @@ tcu::TestStatus IndirectDraw::iterate (void) m_context.getDevice(), m_indirectBuffer->getBoundMemory().getMemory(), m_indirectBuffer->getBoundMemory().getOffset(), - dataSize); + dataSize + m_offsetInBuffer); m_vk.cmdBindPipeline(*m_cmdBuffer, vk::VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline); if (m_isMultiDrawEnabled && m_drawCount <= m_drawIndirectMaxCount) @@ -439,7 +439,7 @@ tcu::TestStatus IndirectDrawInstanced::iterate (void) m_context.getDevice(), m_indirectBuffer->getBoundMemory().getMemory(), m_indirectBuffer->getBoundMemory().getOffset(), - dataSize); + dataSize + m_offsetInBuffer); m_vk.cmdBindPipeline(*m_cmdBuffer, vk::VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline); if (m_isMultiDrawEnabled && m_drawCount <= m_drawIndirectMaxCount) -- 2.7.4