Improve GLSL source program support
Old GLSL source program support in Vulkan framework was built on top
of glu::ProgramSources. This had two problems:
1) There was no obvious way to extend/annotate sources with SPIR-V
-specific information such as target SPIR-V version.
2) Most of glu::ProgramSources, such as attribute bindings or TF
configuration, was completely ignored.
This change introduces new vk::GlslSource type that replaces
glu::ProgramSources in vk::SourceCollections. vk::GlslSource contains
shader source strings as well as build options (vk::GlslBuildOptions).
vk::GlslBuildOptions doesn't currently contain anything useful but can
be later extended to support selecting target SPIR-V version for
example.
The change is mostly transparent to existing code, except:
* vkSpirvProgram.hpp was somewhat unnecessarily including
tcuTestLog.hpp and changing that to a forward declaration required
fixing includes in several test code files.
* vktShaderExecutor.cpp has been extended to allow specifying build
options.
Components: Vulkan
Change-Id: I69a6cd55ea91215585515b9d41860d818cbc97ae
diff --git a/AndroidGen.mk b/AndroidGen.mk
index ef0772e..d84fbf6 100644
--- a/AndroidGen.mk
+++ b/AndroidGen.mk
@@ -34,6 +34,7 @@
external/vulkancts/framework/vulkan/vkDebugReportUtil.cpp \
external/vulkancts/framework/vulkan/vkDefs.cpp \
external/vulkancts/framework/vulkan/vkDeviceUtil.cpp \
+ external/vulkancts/framework/vulkan/vkGlslProgram.cpp \
external/vulkancts/framework/vulkan/vkGlslToSpirV.cpp \
external/vulkancts/framework/vulkan/vkImageUtil.cpp \
external/vulkancts/framework/vulkan/vkImageWithMemory.cpp \