SPIR-V validation understands VK_EXT_scalar_block_layout
authorDavid Neto <dneto@google.com>
Wed, 10 Oct 2018 20:37:38 +0000 (16:37 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 9 Nov 2018 12:45:51 +0000 (07:45 -0500)
commit3adebf1717d09fa7403f05325f4e8c5038b49a3c
treed3e28589a1abe7a3a41b1c3a7b0b94a40790d35a
parentbfd458fe8611eec468a04fc26545a502f40b3504
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
13 files changed:
external/fetch_sources.py [changed mode: 0644->0755]
external/vulkancts/framework/vulkan/CMakeLists.txt
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/vkValidatorOptions.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/ssbo/vktSSBOLayoutCase.cpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.cpp
external/vulkancts/modules/vulkan/ubo/vktUniformBlockCase.hpp
external/vulkancts/modules/vulkan/vktBuildPrograms.cpp