Fixes for robust buffer with variable pointer tests
authorRicardo Garcia <rgarcia@igalia.com>
Tue, 4 May 2021 08:09:55 +0000 (10:09 +0200)
committerRicardo Garcia <rgarcia@igalia.com>
Tue, 4 May 2021 08:23:03 +0000 (10:23 +0200)
commitd474c141045048f7c2bfcab81539dd6681392df0
tree193eeaf12c544bd5ea44034e026303f28d54589f
parent6e14c25f5d049cb0dadebdd8a48392721b8a4d0b
Fixes for robust buffer with variable pointer tests

This commit fixes several issues with robust buffer access with variable
pointers tests:

* The variable pointer tests were checking support for the
  variablePointersStorageBuffer feature but they weren't actually
  activating the feature when creating the robust buffer access device.

* Support checks were being done at instance creation time instead of
  using the proper checkSupport method.

* In-bound checks for 64-bit format accesses were only checking 4 out of
  every 8 bytes in the buffer.

* The verification routines were not taking into account 64-bit
  nonatomic accesses could be legally split into two 32-bit accesses
  that could be checked independently.

* The possibility of satisfying a (0,0,0,x) pattern in output data was
  not being checked correctly for 64-bit formats, always using 32-bit
  vectors and values.

Affected tests:
dEQP-VK.robustness.buffer_access.*
dEQP-VK.robustness.vertex_access.*

Components: Vulkan
VK-GL-CTS issue: 2908

Change-Id: I85aeb085cb31d63b70acec08551c53fcc7d2be3c
external/vulkancts/modules/vulkan/robustness/vktRobustBufferAccessWithVariablePointersTests.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessUtil.cpp