]> git.pld-linux.org Git - packages/warzone2100.git/commitdiff
- fix building with glew 1.12 auto/th/warzone2100-3.1.2-1
authorJan Rękorajski <baggins@pld-linux.org>
Mon, 20 Jul 2015 19:50:51 +0000 (19:50 +0000)
committerJan Rękorajski <baggins@pld-linux.org>
Mon, 20 Jul 2015 19:50:51 +0000 (19:50 +0000)
glew-1.12.patch [new file with mode: 0644]
warzone2100.spec

diff --git a/glew-1.12.patch b/glew-1.12.patch
new file mode 100644 (file)
index 0000000..29a7fa7
--- /dev/null
@@ -0,0 +1,125 @@
+From 6a6c611ca3d9d6745e5343f2ee041892772ccae6 Mon Sep 17 00:00:00 2001
+From: vexed <vexed@wz2100.net>
+Date: Thu, 16 Jul 2015 22:45:14 -0400
+Subject: [PATCH] Resync/backport the code base:
+
+3.1: Remove hack to support some pre-OpenGL-2.0 systems that made
+assumptions about internals in GLEW that breaks with GLEW 1.12.
+
+See ticket:4300 reported by pabs
+
+(cherry picked from commit d512d1dc9857e3c2bbfa0a7b5856bdf420412b8f)
+
+Conflicts:
+       lib/ivis_opengl/screen.cpp
+---
+ lib/ivis_opengl/screen.cpp | 61 ----------------------------------------------
+ lib/ivis_opengl/screen.h   |  1 -
+ src/init.cpp               |  3 ---
+ 3 files changed, 65 deletions(-)
+
+diff --git a/lib/ivis_opengl/screen.cpp b/lib/ivis_opengl/screen.cpp
+index b0aa0f5..b957227 100644
+--- a/lib/ivis_opengl/screen.cpp
++++ b/lib/ivis_opengl/screen.cpp
+@@ -175,7 +175,6 @@ bool screenInitialise()
+       if (canRunShaders)
+       {
+-              screen_EnableMissingFunctions();  // We need to do this before pie_LoadShaders(), but the effect of this call will be undone later by iV_TextInit(), so we will need to call it again.
+               if (pie_LoadShaders())
+               {
+                       pie_SetShaderAvailability(true);
+@@ -207,66 +206,6 @@ void screenShutDown(void)
+       return GLEW_VERSION_1_5 || GLEW_ARB_vertex_buffer_object;
+ }
+-// Make OpenGL's VBO functions available under the core names for drivers that support OpenGL 1.4 only but have the VBO extension
+-void screen_EnableMissingFunctions()
+-{
+-      if (!GLEW_VERSION_1_3 && GLEW_ARB_multitexture)
+-      {
+-              debug(LOG_WARNING, "Pre-OpenGL 1.3: Fixing ARB_multitexture extension function names.");
+-
+-              __glewActiveTexture = __glewActiveTextureARB;
+-              __glewMultiTexCoord2fv = __glewMultiTexCoord2fvARB;
+-      }
+-
+-      if (!GLEW_VERSION_1_5 && GLEW_ARB_vertex_buffer_object)
+-      {
+-              debug(LOG_WARNING, "Pre-OpenGL 1.5: Fixing ARB_vertex_buffer_object extension function names.");
+-
+-              __glewBindBuffer = __glewBindBufferARB;
+-              __glewBufferData = __glewBufferDataARB;
+-              __glewBufferSubData = __glewBufferSubDataARB;
+-              __glewDeleteBuffers = __glewDeleteBuffersARB;
+-              __glewGenBuffers = __glewGenBuffersARB;
+-              __glewGetBufferParameteriv = __glewGetBufferParameterivARB;
+-              __glewGetBufferPointerv = __glewGetBufferPointervARB;
+-              __glewGetBufferSubData = __glewGetBufferSubDataARB;
+-              __glewIsBuffer = __glewIsBufferARB;
+-              __glewMapBuffer = __glewMapBufferARB;
+-              __glewUnmapBuffer = __glewUnmapBufferARB;
+-      }
+-
+-      if (!GLEW_VERSION_2_0 && GLEW_ARB_shader_objects)
+-      {
+-              debug(LOG_WARNING, "Pre-OpenGL 2.0: Fixing ARB_shader_objects extension function names.");
+-
+-              __glewGetUniformLocation = __glewGetUniformLocationARB;
+-              __glewAttachShader = __glewAttachObjectARB;
+-              __glewCompileShader = __glewCompileShaderARB;
+-              __glewCreateProgram = __glewCreateProgramObjectARB;
+-              __glewCreateShader = __glewCreateShaderObjectARB;
+-              __glewGetProgramInfoLog = __glewGetInfoLogARB;
+-              __glewGetShaderInfoLog = __glewGetInfoLogARB;  // Same as previous.
+-              __glewGetProgramiv = __glewGetObjectParameterivARB;
+-              __glewUseProgram = __glewUseProgramObjectARB;
+-              __glewGetShaderiv = __glewGetObjectParameterivARB;
+-              __glewLinkProgram = __glewLinkProgramARB;
+-              __glewShaderSource = __glewShaderSourceARB;
+-              __glewUniform1f = __glewUniform1fARB;
+-              __glewUniform1i = __glewUniform1iARB;
+-              __glewUniform4fv = __glewUniform4fvARB;
+-      }
+-
+-      if ((GLEW_ARB_imaging || GLEW_EXT_blend_color) && __glewBlendColor == NULL)
+-      {
+-              __glewBlendColor = __glewBlendColorEXT;  // Shouldn't be needed if GLEW_ARB_imaging is true, but apparently is needed even in that case, with some drivers..?
+-              if (__glewBlendColor == NULL)
+-              {
+-                      debug(LOG_ERROR, "Your graphics driver is broken, and claims to support ARB_imaging or EXT_blend_color without exporting glBlendColor[EXT].");
+-                      __GLEW_ARB_imaging = __GLEW_EXT_blend_color = 0;
+-              }
+-      }
+-}
+-
+ void screen_SetBackDropFromFile(const char* filename)
+ {
+       // HACK : We should use a resource handler here!
+diff --git a/lib/ivis_opengl/screen.h b/lib/ivis_opengl/screen.h
+index 7cfc819..09235f4 100644
+--- a/lib/ivis_opengl/screen.h
++++ b/lib/ivis_opengl/screen.h
+@@ -62,7 +62,6 @@ extern void screenDoDumpToDiskIfRequired(void);
+ void screen_enableMapPreview(char *name, int width, int height, Vector2i *playerpositions);
+ void screen_disableMapPreview(void);
+ bool screen_getMapPreview(void);
+-void screen_EnableMissingFunctions();
+ struct OPENGL_DATA
+ {
+diff --git a/src/init.cpp b/src/init.cpp
+index aaf7003..3f42313 100644
+--- a/src/init.cpp
++++ b/src/init.cpp
+@@ -716,9 +716,6 @@ bool systemInitialise(void)
+       // Initialize the iVis text rendering module
+       iV_TextInit();
+-      // Fix badly named OpenGL functions. Must be done after iV_TextInit, to avoid the renames being clobbered by an extra glewInit() call.
+-      screen_EnableMissingFunctions();
+-
+       iV_Reset();                                                             // Reset the IV library.
+       readAIs();
index 30a5ae3ebe99cadb656e09d06e72bd37be6ccbf4..b1d2c27575ef65e9654e8edbb7851531b3ae217e 100644 (file)
@@ -7,6 +7,7 @@ License:        GPL v2+
 Group:         X11/Applications/Games/Strategy
 Source0:       http://downloads.sourceforge.net/warzone2100/%{name}-%{version}.tar.xz
 # Source0-md5: 4e947125e9604821164f1ad9d1922447
+Patch0:                glew-1.12.patch
 URL:           http://www.wz2100.net/
 BuildRequires: OpenAL-devel >= 0.0.8-4
 BuildRequires: OpenGL-GLU-devel
@@ -52,6 +53,7 @@ artyleryjskich oraz obronie przeciwlotniczej.
 
 %prep
 %setup -q
+%patch0 -p1
 
 # et_EE -> et
 %{__sed} -e 's/et_EE/et/g' -i po/LINGUAS
This page took 0.147609 seconds and 4 git commands to generate.