Update glslang
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / vkShaderToSpirV.cpp
index e078263..ad74ff7 100644 (file)
 #include "deClock.h"
 #include "qpDebugOut.h"
 
-#if defined(DEQP_HAVE_GLSLANG)
-#      include "SPIRV/GlslangToSpv.h"
-#      include "SPIRV/disassemble.h"
-#      include "SPIRV/SPVRemapper.h"
-#      include "SPIRV/doc.h"
-#      include "glslang/Include/InfoSink.h"
-#      include "glslang/Include/ShHandle.h"
-#      include "glslang/MachineIndependent/localintermediate.h"
-#      include "glslang/Public/ShaderLang.h"
-#endif
+#include "SPIRV/GlslangToSpv.h"
+#include "SPIRV/disassemble.h"
+#include "SPIRV/SPVRemapper.h"
+#include "SPIRV/doc.h"
+#include "glslang/Include/InfoSink.h"
+#include "glslang/Include/ShHandle.h"
+#include "glslang/MachineIndependent/localintermediate.h"
+#include "glslang/Public/ShaderLang.h"
 
 namespace vk
 {
@@ -45,8 +43,6 @@ namespace vk
 using std::string;
 using std::vector;
 
-#if defined(DEQP_HAVE_GLSLANG)
-
 namespace
 {
 
@@ -84,7 +80,7 @@ void prepareGlslang (void)
 
 // Fail compilation if more members are added to TLimits or TBuiltInResource
 struct LimitsSizeHelper_s                      { bool m0, m1, m2, m3, m4, m5, m6, m7, m8; };
-struct BuiltInResourceSizeHelper_s     { int m[92]; LimitsSizeHelper_s l; };
+struct BuiltInResourceSizeHelper_s     { int m[93]; LimitsSizeHelper_s l; };
 
 DE_STATIC_ASSERT(sizeof(TLimits)                       == sizeof(LimitsSizeHelper_s));
 DE_STATIC_ASSERT(sizeof(TBuiltInResource)      == sizeof(BuiltInResourceSizeHelper_s));
@@ -198,6 +194,7 @@ void getDefaultBuiltInResources (TBuiltInResource* builtin)
        builtin->maxTaskWorkGroupSizeY_NV                                       = 1;
        builtin->maxTaskWorkGroupSizeZ_NV                                       = 1;
        builtin->maxMeshViewCountNV                                                     = 4;
+       builtin->maxDualSourceDrawBuffersEXT                            = 1;
 };
 
 int getNumShaderStages (const std::vector<std::string>* sources)
@@ -291,6 +288,12 @@ bool compileShaderToSpirV (const std::vector<std::string>* sources, const Shader
                        case SPIRV_VERSION_1_3:
                                shader.setEnvTarget(glslang::EshTargetSpv, (glslang::EShTargetLanguageVersion)0x10300);
                                break;
+                       case SPIRV_VERSION_1_4:
+                               shader.setEnvTarget(glslang::EshTargetSpv, (glslang::EShTargetLanguageVersion)0x10400);
+                               break;
+                       case SPIRV_VERSION_1_5:
+                               shader.setEnvTarget(glslang::EshTargetSpv, (glslang::EShTargetLanguageVersion)0x10500);
+                               break;
                        default:
                                TCU_THROW(InternalError, "Unsupported SPIR-V target version");
                        }
@@ -361,23 +364,4 @@ void stripSpirVDebugInfo (const size_t numSrcInstrs, const deUint32* srcInstrs,
        remapper.remap(*dst, spv::spirvbin_base_t::STRIP);
 }
 
-#else // defined(DEQP_HAVE_GLSLANG)
-
-bool compileGlslToSpirV (const GlslSource&, std::vector<deUint32>*, glu::ShaderProgramInfo*)
-{
-       TCU_THROW(NotSupportedError, "GLSL to SPIR-V compilation not supported (DEQP_HAVE_GLSLANG not defined)");
-}
-
-bool compileHlslToSpirV (const HlslSource&, std::vector<deUint32>*, glu::ShaderProgramInfo*)
-{
-       TCU_THROW(NotSupportedError, "HLSL to SPIR-V compilation not supported (DEQP_HAVE_GLSLANG not defined)");
-}
-
-void stripSpirVDebugInfo (const size_t, const deUint32*, std::vector<deUint32>*)
-{
-       TCU_THROW(NotSupportedError, "SPIR-V stripping not supported (DEQP_HAVE_GLSLANG not defined)");
-}
-
-#endif // defined(DEQP_HAVE_GLSLANG)
-
 } // vk