src/opengl/qglshaderprogram.cpp
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/src/opengl/qglshaderprogram.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/src/opengl/qglshaderprogram.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -97,6 +97,10 @@
     to just features that are present in GLSL/ES, and avoid
     standard variable names that only work on the desktop.
 
+    If the \c{GL_ARB_ES2_compatibility} extension is present,
+    then the above prefix is not added because the desktop OpenGL
+    implementation supports precision qualifiers.
+
     \section1 Simple shader example
 
     \snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 1
@@ -394,8 +398,10 @@
             srclen.append(GLint(headerLen));
         }
 #ifdef QGL_DEFINE_QUALIFIERS
-        src.append(qualifierDefines);
-        srclen.append(GLint(sizeof(qualifierDefines) - 1));
+        if (!(QGLExtensions::glExtensions() & QGLExtensions::ES2Compatibility)) {
+            src.append(qualifierDefines);
+            srclen.append(GLint(sizeof(qualifierDefines) - 1));
+        }
 #endif
 #ifdef QGL_REDEFINE_HIGHP
         if (d->shaderType == Fragment) {
@@ -2121,7 +2127,7 @@
     Q_D(QGLShaderProgram);
     Q_UNUSED(d);
     if (location != -1) {
-        GLfloat values[4] = {GLfloat(size.width()), GLfloat(size.width())};
+        GLfloat values[4] = {GLfloat(size.width()), GLfloat(size.height())};
         glUniform2fv(location, 1, values);
     }
 }