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
tree: 879af94af986d7cc19370ed9b69529175439b866
  1. android/
  2. data/
  3. doc/
  4. execserver/
  5. executor/
  6. external/
  7. framework/
  8. modules/
  9. scripts/
  10. targets/
  11. .gitignore
  12. Android.mk
  13. CMakeLists.txt
  14. LICENSE
  15. MODULE_LICENSE_APACHE2
  16. NOTICE
  17. README.md
README.md

dEQP README

This repository contains a GPU testing suite called dEQP (drawElements Quality Program). dEQP contains tests for several graphics APIs, including OpenGL ES, EGL, and Vulkan.

Documentation

Up-to-date documentation for the dEQP is available at Android Open Source Project site.

Khronos Vulkan Conformance Tests

This repository includes Khronos Vulkan CTS under external/vulkancts directory. For more information see Vulkan CTS README.