Add tests for VK_EXT_scalar_block_layout
authorJeff Bolz <jbolz@nvidia.com>
Thu, 27 Sep 2018 17:36:06 +0000 (12:36 -0500)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 22 Nov 2018 09:32:54 +0000 (04:32 -0500)
commitb7f1267015c5c1287116ba489a57fb6a408bb824
tree4945894d1157fe7bd7608210c506ff5bb6ec2359
parentdaaa478a3c9574d1cefbf9c39744f7e1fb523688
Add tests for VK_EXT_scalar_block_layout

Components: Vulkan, Framework

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

SPIR-V validation understands VK_EXT_scalar_block_layout

Refactor SPIR-V validator options into own struct and header

Shader build options now record scalar layout flag.

Shader build options can yield a validator options object.

Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.

Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.

Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
  SPV_KHR_float_controls

Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*

Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876
(cherry picked from commit 71e336126ac2959418f9c39a9507e91e4dc61951)
(cherry picked from commit 3adebf1717d09fa7403f05325f4e8c5038b49a3c)
31 files changed:
android/cts/master/vk-master.txt
external/fetch_sources.py
external/vulkancts/framework/vulkan/CMakeLists.txt
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkPrograms.cpp
external/vulkancts/framework/vulkan/vkPrograms.hpp
external/vulkancts/framework/vulkan/vkShaderProgram.hpp
external/vulkancts/framework/vulkan/vkSpirVAsm.cpp
external/vulkancts/framework/vulkan/vkSpirVAsm.hpp
external/vulkancts/framework/vulkan/vkSpirVProgram.hpp
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkValidatorOptions.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.hpp
external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutTests.cpp
external/vulkancts/modules/vulkan/ubo/vktRandomUniformBlockCase.cpp
external/vulkancts/modules/vulkan/ubo/vktRandomUniformBlockCase.hpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.hpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockTests.cpp
external/vulkancts/modules/vulkan/vktBuildPrograms.cpp
external/vulkancts/modules/vulkan/vktTestCase.cpp
external/vulkancts/modules/vulkan/vktTestCase.hpp
external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt
external/vulkancts/mustpass/1.1.2/vk-default.txt
external/vulkancts/scripts/src/vulkan.h.in
framework/delibs/debase/deInt32.h