From 63af86bda39902339b7d46a3b6a9b64b6a884d32 Mon Sep 17 00:00:00 2001 From: Maciej Jesionowski Date: Thu, 5 Oct 2017 14:40:53 +0200 Subject: [PATCH] Fix instance-rate vertex attribute verification There was a bug in the test where it expected instance-rate vertex attribute data at incorrect offsets in the input buffer. As a result these attributes were always treated as out of bounds. Affects: dEQP-VK.robustness.vertex_access.* VK-GL-CTS issue: 752 Components: Vulkan Change-Id: Ied900ab4174d4e8c25fd07c95e90d3c8228d5a26 --- .../robustness/vktRobustnessVertexAccessTests.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/external/vulkancts/modules/vulkan/robustness/vktRobustnessVertexAccessTests.cpp b/external/vulkancts/modules/vulkan/robustness/vktRobustnessVertexAccessTests.cpp index 0f15ba1..a0c33f4 100644 --- a/external/vulkancts/modules/vulkan/robustness/vktRobustnessVertexAccessTests.cpp +++ b/external/vulkancts/modules/vulkan/robustness/vktRobustnessVertexAccessTests.cpp @@ -129,7 +129,7 @@ public: deUint32 numInstanceValues, deUint32 numVertices, deUint32 numInstances, - const std::vector indices); + const std::vector& indices); virtual ~VertexAccessInstance (void) {} virtual tcu::TestStatus iterate (void); @@ -420,14 +420,14 @@ TestInstance* DrawIndexedAccessTest::createInstance (Context& context) const // VertexAccessInstance -VertexAccessInstance::VertexAccessInstance (Context& context, - Move device, - VkFormat inputFormat, - deUint32 numVertexValues, - deUint32 numInstanceValues, - deUint32 numVertices, - deUint32 numInstances, - const std::vector indices) +VertexAccessInstance::VertexAccessInstance (Context& context, + Move device, + VkFormat inputFormat, + deUint32 numVertexValues, + deUint32 numInstanceValues, + deUint32 numVertices, + deUint32 numInstances, + const std::vector& indices) : vkt::TestInstance (context) , m_device (device) @@ -792,7 +792,7 @@ bool VertexAccessInstance::verifyResult (void) numInBufferValues = m_numInstanceValues; inBufferPtr = m_instanceRateBufferAlloc->getHostPtr(); inBufferAllocSize = m_instanceRateBufferAllocSize; - inBufferValueIndex = (getIndex(elementIndex) * numChannels) + (valueNdx % numScalarsPerVertex) - (2 * numChannels); + inBufferValueIndex = (elementIndex * numChannels) + (valueNdx % numScalarsPerVertex) - (2 * numChannels); } else { -- 2.7.4