Fix - uniform buffer incorrectly dereferenced
authorMarcin Kańtoch <marcin.kantoch@amd.com>
Tue, 4 Apr 2017 12:31:34 +0000 (14:31 +0200)
committerPyry Haulos <phaulos@google.com>
Thu, 6 Apr 2017 18:02:59 +0000 (14:02 -0400)
Uniform buffer is incorrectly dereferenced in
ssbo layout tests.

Affected tests: dEQP-VK.ssbo.layout.*

Change-Id: I5831ad75f558f8992bed6bdc48b1833d2ee13d26

external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp

index c4e17a3..7ac5fe3 100644 (file)
@@ -2142,6 +2142,8 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
        {
                for (int blockNdx = 0; blockNdx < numBlocks; blockNdx++)
                {
+                       const vk::VkBuffer uniformBuffer = m_uniformBuffers[blockNdx].get()->get();
+
                        const vk::VkBufferMemoryBarrier barrier =
                        {
                                vk::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
@@ -2150,7 +2152,7 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
                                vk::VK_ACCESS_HOST_READ_BIT,
                                VK_QUEUE_FAMILY_IGNORED,
                                VK_QUEUE_FAMILY_IGNORED,
-                               static_cast<vk::VkBuffer>(*m_uniformBuffers[blockNdx]),
+                               uniformBuffer,
                                0u,
                                static_cast<vk::VkDeviceSize>(bufferSizes[blockNdx])
                        };
@@ -2159,6 +2161,8 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
        }
        else
        {
+               const vk::VkBuffer uniformBuffer = m_uniformBuffers[0].get()->get();
+
                vk::VkDeviceSize totalSize      = 0;
                for (size_t bufferNdx = 0; bufferNdx < bufferSizes.size(); bufferNdx++)
                        totalSize += bufferSizes[bufferNdx];
@@ -2171,7 +2175,7 @@ tcu::TestStatus SSBOLayoutCaseInstance::iterate (void)
                        vk::VK_ACCESS_HOST_READ_BIT,
                        VK_QUEUE_FAMILY_IGNORED,
                        VK_QUEUE_FAMILY_IGNORED,
-                       static_cast<vk::VkBuffer>(*m_uniformBuffers[0]),
+                       uniformBuffer,
                        0u,
                        totalSize
                };