[mupen64plus-video-glide64mk2] 38/60: Use glGetHandleARB to get program object

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 06:16:15 UTC 2015


This is an automated email from the git hooks/post-receive script.

ecsv-guest pushed a commit to branch armhf_test
in repository mupen64plus-video-glide64mk2.

commit 552f17ffe86e74a61738860b60400872a2efdb0d
Author: Sven Eckelmann <sven at narfation.org>
Date:   Sat Mar 8 09:34:21 2014 +0100

    Use glGetHandleARB to get program object
    
    Some systems don't define the GLHandleARB as unsigned integer and thus want to
    get a complete pointer when calling glUseProgramObjectARB. This makes it
    necessary to change the program variable to GLHandleARB and replace the
    glGetIntegerv call to the old ARB glGetHandleARB to make sure that the
    returned data can be of any type and not only integer.
---
 debian/changelog                                   |  2 +
 .../old_glgethandlearb_program_object.patch        | 64 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 67 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 0466aac..b11202e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ mupen64plus-video-glide64mk2 (2.0-3) UNRELEASED; urgency=low
   * debian/patches:
     - Add shader_reset.patch, Set shader again after displaying OSD
     - Add empty_dlist.patch, Handle empty display list to avoid infinite loop
+    - Add old_glgethandlearb_program_object.patch, Use glGetHandleARB to get
+      program object
   * debian/watch:
     - Change upstream check from bitbucket to github
   * debian/copyright:
diff --git a/debian/patches/old_glgethandlearb_program_object.patch b/debian/patches/old_glgethandlearb_program_object.patch
new file mode 100644
index 0000000..382a1ea
--- /dev/null
+++ b/debian/patches/old_glgethandlearb_program_object.patch
@@ -0,0 +1,64 @@
+Description: Use glGetHandleARB to get program object
+ Some systems don't define the GLHandleARB as unsigned integer and thus want to
+ get a complete pointer when calling glUseProgramObjectARB. This makes it
+ necessary to change the program variable to GLHandleARB and replace the
+ glGetIntegerv call to the old ARB glGetHandleARB to make sure that the
+ returned data can be of any type and not only integer.
+Author: Sven Eckelmann <sven at narfation.org>
+
+---
+diff --git a/src/Glitch64/glitchmain.cpp b/src/Glitch64/glitchmain.cpp
+index 1eac91e09bae458d32311c855b707acfce88202f..80db76ab41577d239bb237fedeeda192f467f022 100644
+--- a/src/Glitch64/glitchmain.cpp
++++ b/src/Glitch64/glitchmain.cpp
+@@ -110,6 +110,7 @@ PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
+ PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
+ PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
+ PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
++PFNGLGETHANDLEARBPROC glGetHandleARB;
+ PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
+ PFNGLUNIFORM1IARBPROC glUniform1iARB;
+ PFNGLUNIFORM4IARBPROC glUniform4iARB;
+@@ -626,6 +627,7 @@ grSstWinOpen(
+     glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)wglGetProcAddress("glAttachObjectARB");
+     glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)wglGetProcAddress("glLinkProgramARB");
+     glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)wglGetProcAddress("glUseProgramObjectARB");
++    glGetHandleARB = (PFNGLGETHANDLEARBPROC)wglGetProcAddress("glGetHandleARB");
+     glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)wglGetProcAddress("glGetUniformLocationARB");
+     glUniform1iARB = (PFNGLUNIFORM1IARBPROC)wglGetProcAddress("glUniform1iARB");
+     glUniform4iARB = (PFNGLUNIFORM4IARBPROC)wglGetProcAddress("glUniform4iARB");
+@@ -1661,12 +1663,12 @@ grBufferClear( GrColor_t color, GrAlpha_t alpha, FxU32 depth )
+ FX_ENTRY void FX_CALL
+ grBufferSwap( FxU32 swap_interval )
+ {
+-   GLuint program;
++   GLhandleARB program;
+ 
+ 	glFinish();
+ //  printf("rendercallback is %p\n", renderCallback);
+   if(renderCallback) {
+-      glGetIntegerv(GL_CURRENT_PROGRAM, (GLint*) &program);
++      program = glGetHandleARB(GL_PROGRAM_OBJECT_ARB);
+       glUseProgramObjectARB(0);
+       (*renderCallback)(1);
+       if (program)
+diff --git a/src/Glitch64/main.h b/src/Glitch64/main.h
+index 361c597f746d7603e529b36734727aaf7dd6f22c..e0a09a468d4ffee839ab44a1f04d79f54c983368 100644
+--- a/src/Glitch64/main.h
++++ b/src/Glitch64/main.h
+@@ -102,6 +102,7 @@ extern "C" {
+     extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
+     extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
+     extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
++    extern PFNGLGETHANDLEARBPROC glGetHandleARB;
+     typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
+ }
+ #else
+@@ -136,6 +137,7 @@ extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
+ extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
+ extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
+ extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
++extern PFNGLGETHANDLEARBPROC glGetHandleARB;
+ extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
+ extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
+ extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
diff --git a/debian/patches/series b/debian/patches/series
index 9d1f3b2..3dd96b7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@ kfreebsd_hurd_support.patch
 path_max_war.patch
 shader_reset.patch
 empty_dlist.patch
+old_glgethandlearb_program_object.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-video-glide64mk2.git



More information about the Pkg-games-commits mailing list