Correct few pipeline_barrier tests
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Thu, 21 May 2020 16:45:23 +0000 (18:45 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 1 Jun 2020 11:24:26 +0000 (07:24 -0400)
commitdc955061665464c512e055da4bc13bf2a9ca9d27
tree4014d3f5f10c2ec8123c21bdba6809b2bd0f78b3
parent358348221857f3d518bbb56f40fd8c9f7dd37bf0
Correct few pipeline_barrier tests

In pipeline barrier tests there is findMaxBufferSize util function.
It consists of two parts. First part checks if we can create buffer
that requires as much space as we want to test, and second, used when
first part fails, searches for maximal buffer that we can create
within that limit. Since test values are multiply of 1024 the second
part of this function was never hit by most of implementations.
It was hit by implementation that overalocates buffers and this
revealed that classes operating on ubo and ssbo were not handling
buffer sizes that are not multiple of 16 in case of ssbo and multiple
of 1024 in case of ubo (rest of RenderPassCommands are handling that
case). Note that this can be tested by just commenting first part of
findMaxBufferSize function.
This change make sure that ubo and ssbo tests work on smaller buffers
but with limitation that last modulo 16 values from those buffers are
not used in tests.

Components: Vulkan

VK-GL-CTS public issue: 206

Affects:
dEQP-VK.memory.pipeline_barrier.*uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.*storage_buffer.*

Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7
external/vulkancts/modules/vulkan/memory/vktMemoryPipelineBarrierTests.cpp