Clean up SPIR-V support code in framework
authorPyry Haulos <phaulos@google.com>
Thu, 10 Mar 2016 20:06:21 +0000 (12:06 -0800)
committerPyry Haulos <phaulos@google.com>
Mon, 14 Mar 2016 18:02:03 +0000 (11:02 -0700)
commit3b9dcc5bfd3b622b8fa0a75d88d205a425dd3603
tree879af94af986d7cc19370ed9b69529175439b866
parent97fbad3f20ef38fd35c6858f72eb5d5071682d61
Clean up SPIR-V support code in framework

 * Return result codes instead of exceptions when GLSL compilation or
assembling fails. Reserve exceptions for unexpected errors.

 * Move vk::disassembleSpirV() to vkSpirVAsm.cpp/hpp.

 * Use deUint32 vectors/pointers for passing around SPIR-V binary data.
Consolidate endianness handling to vkPrograms.cpp.

 * Log disassembled GLSL shaders as <SpirVAssemblySource>.

 * Enable validation for glslang-generated SPIR-V binaries. Requires
updating both glslang and spirv-tools.

 * Clean up vk::SpirVAsmSource and vk::SpirVProgramInfo.

 * Clean up some potential resource leaks in spirv-tools integration.

 * Add --validate-spv option to vk-build-programs.

Change-Id: I0d5683c83c16b3e6d794e284c17ed65ea9541a35
14 files changed:
external/fetch_sources.py
external/spirv-tools/CMakeLists.txt
external/vulkancts/build_spirv_binaries.py
external/vulkancts/framework/vulkan/vkBinaryRegistry.cpp
external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp
external/vulkancts/framework/vulkan/vkGlslToSpirV.hpp
external/vulkancts/framework/vulkan/vkPrograms.cpp
external/vulkancts/framework/vulkan/vkPrograms.hpp
external/vulkancts/framework/vulkan/vkSpirVAsm.cpp
external/vulkancts/framework/vulkan/vkSpirVAsm.hpp
external/vulkancts/framework/vulkan/vkSpirVProgram.cpp
external/vulkancts/framework/vulkan/vkSpirVProgram.hpp
external/vulkancts/modules/vulkan/vktBuildPrograms.cpp
external/vulkancts/modules/vulkan/vktTestPackage.cpp