OSDN Git Service

Use the GLSL/ES system library by default.
authorRhys Weatherley <rhys.weatherley@nokia.com>
Mon, 29 Nov 2010 00:09:22 +0000 (10:09 +1000)
committerRhys Weatherley <rhys.weatherley@nokia.com>
Mon, 29 Nov 2010 00:09:22 +0000 (10:09 +1000)
src/libs/glsl/glsllexer.h
src/plugins/glsleditor/glsleditorplugin.cpp
src/plugins/glsleditor/glsleditorplugin.h

index 65584c3..b8e906b 100644 (file)
@@ -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 {
index 20c0886..825b245 100644 (file)
@@ -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)
index fc222ed..6561d64 100644 (file)
@@ -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