[Libreoffice-commits] core.git: Branch 'libreoffice-4-3-1' - avmedia/source external/libgltf

Zolnai Tamás tamas.zolnai at collabora.com
Mon Aug 18 10:21:18 PDT 2014


 avmedia/source/opengl/oglplayer.cxx                  |   13 ------
 external/libgltf/UnpackedTarball_libgltf.mk          |    1 
 external/libgltf/pathces/append_shader_version.patch |   37 +++++++++++++++++++
 3 files changed, 39 insertions(+), 12 deletions(-)

New commits:
commit cf2afb05dd571bd85d75385a8254454da99951ee
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Mon Aug 18 09:31:06 2014 +0200

    libgltf: Append shader language version to the shader files
    
    In general glTF shader files does not contain version
    directives and in some case it make shader compiler
    using GLSL 1.1 which leads to that the shader compiler
    fails.
    So we need to append the choosen version number which is
    GLSL 1.3 in case of libgltf, but this also means that
    from that point OpenGL 3.0 is the new reuirements since
    GLSL 1.3 is available only from that version.
    
    (cherry picked from commit c67026f27023008d124c8ab76533169f032b04f6)
    
    Conflicts:
    	external/libgltf/UnpackedTarball_libgltf.mk
    
    Change-Id: Ic4382266432ea474aeb3e603b32a998b9aeed280
    Reviewed-on: https://gerrit.libreoffice.org/10948
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx
index ba7e9f2..a052dc9 100644
--- a/avmedia/source/opengl/oglplayer.cxx
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -241,18 +241,7 @@ awt::Size SAL_CALL OGLPlayer::getPreferredPlayerWindowSize() throw ( uno::Runtim
 
 static bool lcl_CheckOpenGLRequirements()
 {
-    float fVersion = OpenGLHelper::getGLVersion();
-
-    if( fVersion >= 3.0 )
-    {
-        return true;
-    }
-    else if( fVersion >= 2.1 )
-    {
-        return glewIsSupported("GL_ARB_framebuffer_object GL_ARB_vertex_array_object");
-    }
-
-    return false;
+    return OpenGLHelper::getGLVersion() >= 3.0;
 }
 
 uno::Reference< media::XPlayerWindow > SAL_CALL OGLPlayer::createPlayerWindow( const uno::Sequence< uno::Any >& rArguments )
diff --git a/external/libgltf/UnpackedTarball_libgltf.mk b/external/libgltf/UnpackedTarball_libgltf.mk
index 3b27c2a..42c821b 100644
--- a/external/libgltf/UnpackedTarball_libgltf.mk
+++ b/external/libgltf/UnpackedTarball_libgltf.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libgltf,\
 	external/libgltf/pathces/missing_include.patch \
+	external/libgltf/pathces/append_shader_version.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libgltf/pathces/append_shader_version.patch b/external/libgltf/pathces/append_shader_version.patch
new file mode 100644
index 0000000..27f0cc6
--- /dev/null
+++ b/external/libgltf/pathces/append_shader_version.patch
@@ -0,0 +1,37 @@
+diff -ur libgltf.org/src/Shaders.cpp libgltf/src/Shaders.cpp
+--- libgltf.org/src/Shaders.cpp	2014-08-18 09:19:48.323955939 +0200
++++ libgltf/src/Shaders.cpp	2014-08-18 09:20:46.711953465 +0200
+@@ -11,6 +11,7 @@
+ 
+ #include <GL/glew.h>
+ #include <cstdio>
++#include <cstring>
+ 
+ namespace libgltf
+ {
+@@ -166,7 +167,24 @@
+                                   unsigned int shaderId)
+ {
+     GLint iGLSize = iSize;
+-    glShaderSource(shaderId, 1, &pShader, &iGLSize);
++    if( strstr(pShader,"#version") == 0 )
++    {
++        const GLchar* aSources[] = {
++            "#version 130\n",
++            pShader,
++        };
++
++        const GLint aSizes[] = {
++            strlen("#version 130\n"),
++            iGLSize,
++        };
++
++        glShaderSource(shaderId, 2, &aSources[0], &aSizes[0]);
++    }
++    else
++    {
++        glShaderSource(shaderId, 1, &pShader, &iGLSize);
++    }
+     glCompileShader(shaderId);
+     int iStatus = 0;
+     glGetShaderiv(shaderId, GL_COMPILE_STATUS, &iStatus);


More information about the Libreoffice-commits mailing list