summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPasi Keranen <pasi.keranen@digia.com>2014-02-13 16:43:18 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-02-14 14:43:10 +0100
commit8267045c79e6a9359bc71dea5ece637276e29967 (patch)
treecd1d658b70d2428a177fa05ba4b2b148fe56dfc4
parent59ad5f7fbe28f1290c0d9fec249ae7952e648a42 (diff)
Fix for Mac OS X 10.8 compilation issues.
Changed used GL version to 3.2 and put use of double vector definitions behind #ifdef. Also removed references to old code from sync.profile. Change-Id: I806cd882de22f828fbacd162c71b71f52bbd5fbe Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/render/backend/rendermesh.cpp4
-rw-r--r--src/render/backend/rendermesh.h4
-rw-r--r--src/render/frontend/technique.cpp2
-rw-r--r--src/render/io/meshdata.cpp26
-rw-r--r--sync.profile2
5 files changed, 25 insertions, 13 deletions
diff --git a/src/render/backend/rendermesh.cpp b/src/render/backend/rendermesh.cpp
index b7e3252c6..fadd8a544 100644
--- a/src/render/backend/rendermesh.cpp
+++ b/src/render/backend/rendermesh.cpp
@@ -49,7 +49,7 @@
#include <technique.h>
#include <QOpenGLContext>
-#include <QOpenGLFunctions_3_3_Core>
+#include <QOpenGLFunctions_3_2_Core>
#include <QOpenGLShaderProgram>
namespace Qt3D {
@@ -123,7 +123,7 @@ void RenderMesh::initializeGL(QGraphicsContext* gc)
// TODO Be careful about where we do this OpenGL work
QOpenGLContext* ctx = QOpenGLContext::currentContext();
- m_funcs = ctx->versionFunctions<QOpenGLFunctions_3_3_Core>();
+ m_funcs = ctx->versionFunctions<QOpenGLFunctions_3_2_Core>();
if ( m_funcs )
m_funcs->initializeOpenGLFunctions();
else
diff --git a/src/render/backend/rendermesh.h b/src/render/backend/rendermesh.h
index 5f2c0cdf8..87987dc03 100644
--- a/src/render/backend/rendermesh.h
+++ b/src/render/backend/rendermesh.h
@@ -50,7 +50,7 @@
#include <QOpenGLVertexArrayObject>
#include <QMatrix4x4>
-class QOpenGLFunctions_3_3_Core;
+class QOpenGLFunctions_3_2_Core;
namespace Qt3D {
@@ -115,7 +115,7 @@ private:
QOpenGLVertexArrayObject m_vao;
- QOpenGLFunctions_3_3_Core *m_funcs;
+ QOpenGLFunctions_3_2_Core *m_funcs;
QMatrix4x4 m_modelMatrix;
};
diff --git a/src/render/frontend/technique.cpp b/src/render/frontend/technique.cpp
index 5779e8f10..5ef7c46ff 100644
--- a/src/render/frontend/technique.cpp
+++ b/src/render/frontend/technique.cpp
@@ -267,9 +267,11 @@ Render::QUniformValue::Type Parameter::uniformType() const
return Render::QUniformValue::Float;
case GL_DOUBLE:
+#ifdef GL_DOUBLE_VEC3 // Required to compile on pre GL 4.1 systems
case GL_DOUBLE_VEC2:
case GL_DOUBLE_VEC3:
case GL_DOUBLE_VEC4:
+#endif
return Render::QUniformValue::Double;
default:
diff --git a/src/render/io/meshdata.cpp b/src/render/io/meshdata.cpp
index 7c68adb6b..2784d3d0a 100644
--- a/src/render/io/meshdata.cpp
+++ b/src/render/io/meshdata.cpp
@@ -58,9 +58,11 @@ GLint elementType(GLint type)
return GL_FLOAT;
case GL_DOUBLE:
+#ifdef GL_DOUBLE_VEC3 // For compiling on pre GL 4.1 systems
case GL_DOUBLE_VEC2:
case GL_DOUBLE_VEC3:
case GL_DOUBLE_VEC4:
+#endif
return GL_DOUBLE;
default:
@@ -80,13 +82,22 @@ GLint tupleSizeFromType(GLint type)
break; // fall through
case GL_FLOAT_VEC2:
- case GL_DOUBLE_VEC2: return 2;
+#ifdef GL_DOUBLE_VEC2 // For compiling on pre GL 4.1 systems.
+ case GL_DOUBLE_VEC2:
+#endif
+ return 2;
case GL_FLOAT_VEC3:
- case GL_DOUBLE_VEC3: return 3;
+#ifdef GL_DOUBLE_VEC3 // For compiling on pre GL 4.1 systems.
+ case GL_DOUBLE_VEC3:
+#endif
+ return 3;
case GL_FLOAT_VEC4:
- case GL_DOUBLE_VEC4: return 4;
+#ifdef GL_DOUBLE_VEC4 // For compiling on pre GL 4.1 systems.
+ case GL_DOUBLE_VEC4:
+#endif
+ return 4;
default:
qWarning() << Q_FUNC_INFO << "unsupported:" << QString::number(type, 16);
@@ -104,14 +115,13 @@ GLuint byteSizeFromType(GLint type)
case GL_UNSIGNED_INT: return sizeof(GLuint);
case GL_FLOAT_VEC2: return sizeof(float) * 2;
- case GL_DOUBLE_VEC2: return sizeof(double) * 2;
-
case GL_FLOAT_VEC3: return sizeof(float) * 3;
- case GL_DOUBLE_VEC3: return sizeof(double) * 3;
-
case GL_FLOAT_VEC4: return sizeof(float) * 4;
+#ifdef GL_DOUBLE_VEC3 // Required to compile on pre GL 4.1 systems
+ case GL_DOUBLE_VEC2: return sizeof(double) * 2;
+ case GL_DOUBLE_VEC3: return sizeof(double) * 3;
case GL_DOUBLE_VEC4: return sizeof(double) * 4;
-
+#endif
default:
qWarning() << Q_FUNC_INFO << "unsupported:" << QString::number(type, 16);
}
diff --git a/sync.profile b/sync.profile
index aec8fc637..7796cf2e5 100644
--- a/sync.profile
+++ b/sync.profile
@@ -1,5 +1,5 @@
%modules = ( # path to module name map
- "Qt3DCore" => "$basedir/src/threed",
+ "Qt3DCore" => "$basedir/src/core",
"Qt3D" => "$basedir/src/threed",
"Qt3DQuick" => "$basedir/src/quick3d",
);