diff --git a/src/libs/glsl/glsllexer.h b/src/libs/glsl/glsllexer.h index 65584c390559bc5f0669cb44d0006edd5b840d2b..b8e906be1ac8a27d082c9eb9b086107f4877bea7 100644 --- a/src/libs/glsl/glsllexer.h +++ b/src/libs/glsl/glsllexer.h @@ -78,7 +78,8 @@ public: Variant_VertexShader = 0x00200000, Variant_FragmentShader = 0x00400000, Variant_Reserved = 0x80000000, - Variant_Mask = 0xFFFF0000 + Variant_Mask = 0xFFFF0000, + Variant_All = 0xFFFF0000 }; union Value { diff --git a/src/plugins/glsleditor/glsleditorplugin.cpp b/src/plugins/glsleditor/glsleditorplugin.cpp index 20c0886e12b7eba5e18cccbc359ff04200ea6336..825b245cb91d18b928afd113eaa83e753044fdc8 100644 --- a/src/plugins/glsleditor/glsleditorplugin.cpp +++ b/src/plugins/glsleditor/glsleditorplugin.cpp @@ -114,6 +114,9 @@ bool GLSLEditorPlugin::initialize(const QStringList & /*arguments*/, QString *er parseGlslFile(QLatin1String("glsl_120.frag"), &m_glsl_120_frag); parseGlslFile(QLatin1String("glsl_120.vert"), &m_glsl_120_vert); parseGlslFile(QLatin1String("glsl_120_common.glsl"), &m_glsl_120_common); + parseGlslFile(QLatin1String("glsl_es_100.frag"), &m_glsl_es_100_frag); + parseGlslFile(QLatin1String("glsl_es_100.vert"), &m_glsl_es_100_vert); + parseGlslFile(QLatin1String("glsl_es_100_common.glsl"), &m_glsl_es_100_common); // m_modelManager = new ModelManager(this); @@ -251,9 +254,8 @@ QByteArray GLSLEditorPlugin::glslFile(const QString &fileName) void GLSLEditorPlugin::parseGlslFile(const QString &fileName, InitFile *initFile) { - const int variant = GLSL::Lexer::Variant_GLSL_Qt | // ### hardcoded - GLSL::Lexer::Variant_VertexShader | - GLSL::Lexer::Variant_FragmentShader; + // Parse the builtins for any langugage variant so we can use all keywords. + const int variant = GLSL::Lexer::Variant_All; const QByteArray code = glslFile(fileName); initFile->engine = new GLSL::Engine(); @@ -263,17 +265,21 @@ void GLSLEditorPlugin::parseGlslFile(const QString &fileName, InitFile *initFile const GLSLEditorPlugin::InitFile *GLSLEditorPlugin::fragmentShaderInit() const { - return &m_glsl_120_frag; + // TODO: select the correct language variant + //return &m_glsl_120_frag; + return &m_glsl_es_100_frag; } const GLSLEditorPlugin::InitFile *GLSLEditorPlugin::vertexShaderInit() const { - return &m_glsl_120_vert; + //return &m_glsl_120_vert; + return &m_glsl_es_100_vert; } const GLSLEditorPlugin::InitFile *GLSLEditorPlugin::shaderInit() const { - return &m_glsl_120_common; + //return &m_glsl_120_common; + return &m_glsl_es_100_common; } Q_EXPORT_PLUGIN(GLSLEditorPlugin) diff --git a/src/plugins/glsleditor/glsleditorplugin.h b/src/plugins/glsleditor/glsleditorplugin.h index fc222ed14323d3e47c29fdeab94c819131a8ec23..6561d64335a1785f4dee35576daa43e61cf880c4 100644 --- a/src/plugins/glsleditor/glsleditorplugin.h +++ b/src/plugins/glsleditor/glsleditorplugin.h @@ -115,6 +115,9 @@ private: InitFile m_glsl_120_frag; InitFile m_glsl_120_vert; InitFile m_glsl_120_common; + InitFile m_glsl_es_100_frag; + InitFile m_glsl_es_100_vert; + InitFile m_glsl_es_100_common; }; } // namespace Internal