[mupen64plus-video-rice] 106/191: Imported Upstream version 1.99.5

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 06:17:24 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-rice.

commit b78c3150b8f7e7ec5d0db4295ae17fea65765044
Author: Sven Eckelmann <sven at narfation.org>
Date:   Sun Mar 11 19:46:42 2012 +0100

    Imported Upstream version 1.99.5
---
 RELEASE                                      | 15 +++++++++++++++
 projects/msvc8/mupen64plus-video-rice.vcproj |  4 ++--
 src/DeviceBuilder.cpp                        |  6 ++++++
 src/OGLCombinerNV.cpp                        |  3 ++-
 src/OGLExtensions.cpp                        | 18 +++++++++++++-----
 src/OGLExtensions.h                          |  1 +
 src/OGLGraphicsContext.cpp                   |  2 +-
 src/Video.cpp                                |  4 ++--
 src/Video.h                                  |  2 +-
 src/version.h                                |  4 ++--
 10 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/RELEASE b/RELEASE
index f2a86f2..8dd3de7 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,6 +1,21 @@
 Mupen64Plus-Video-Rice RELEASE
 ------------------------------
 
+Mupen64Plus-Video-Rice v1.99.5 - March 10, 2012
+-----------------------------------------------
+ - Hires texture loading: support for 8-bit PNG images
+ - New config option for forcing vertical sync
+ - Check OpenGL attributes after creating video window and report any that failed to set
+ - Updated video plugin for new Mupen64plus 2.0 API versioning scheme
+ - Update to Video API version 2.1.0.
+ - Bugfix: hi-res textures: Scale highres textures by precalculated scaleShift exponent
+ - Bugfix: dont call CoreVideo_Init() inside of the InitializeGFX() function. This will fix some front-end use cases
+ - Bugfix: Fix z coordinate in 3d line rendering
+ - Bugfix: double infinite loop in GetValidTmemInfoIndex
+ - Bugfix: Perfect Dark randomly crashes due to divide-by-zero error
+ - Bugfix: crash in loading Celda 2009 hi-res texture pack for Zelda Ocarina of Time
+ - makefile fixes, improvements, and code cleanups
+
 Mupen64Plus-Video-Rice v1.99.4 - November 22, 2010
 --------------------------------------------------
  - new feature: anisotropic filtering
diff --git a/projects/msvc8/mupen64plus-video-rice.vcproj b/projects/msvc8/mupen64plus-video-rice.vcproj
index bb9b270..34cc0b8 100644
--- a/projects/msvc8/mupen64plus-video-rice.vcproj
+++ b/projects/msvc8/mupen64plus-video-rice.vcproj
@@ -61,7 +61,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="opengl32.lib glu32.lib ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\SDL.lib ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\lib\libpng.lib"
+				AdditionalDependencies="user32.lib gdi32.lib opengl32.lib glu32.lib ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\SDL.lib ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\lib\libpng.lib"
 				LinkIncremental="2"
 				GenerateDebugInformation="true"
 				SubSystem="2"
@@ -137,7 +137,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="opengl32.lib glu32.lib ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\SDL.lib ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\lib\libpng.lib"
+				AdditionalDependencies="user32.lib gdi32.lib opengl32.lib glu32.lib ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\SDL.lib ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\lib\libpng.lib"
 				LinkIncremental="1"
 				GenerateDebugInformation="true"
 				SubSystem="2"
diff --git a/src/DeviceBuilder.cpp b/src/DeviceBuilder.cpp
index cff778a..4f5dcad 100644
--- a/src/DeviceBuilder.cpp
+++ b/src/DeviceBuilder.cpp
@@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "OGLDebug.h"
 #include "OGLFragmentShaders.h"
 #include "OGLExtRender.h"
+#include "OGLExtensions.h"
 #include "OGLGraphicsContext.h"
 #include "OGLTexture.h"
 
@@ -235,6 +236,11 @@ CColorCombiner * OGLDeviceBuilder::CreateColorCombiner(CRender *pRender)
         else
         {
             m_deviceType = (SupportedDeviceType)options.OpenglRenderSetting;
+            if (m_deviceType == NVIDIA_OGL_DEVICE && !bNvidiaExtensionsSupported)
+            {
+                DebugMessage(M64MSG_WARNING, "Your video card does not support Nvidia OpenGL extensions.  Falling back to auto device.");
+                m_deviceType = OGL_DEVICE;
+            }
             if( m_deviceType == OGL_DEVICE )    // Best fit
             {
                 GLint maxUnit = 2;
diff --git a/src/OGLCombinerNV.cpp b/src/OGLCombinerNV.cpp
index 3118b1e..2720602 100644
--- a/src/OGLCombinerNV.cpp
+++ b/src/OGLCombinerNV.cpp
@@ -90,13 +90,14 @@ bool COGLColorCombinerNvidia::Initialize(void)
         {
             m_bNVSupported = true;
             glEnable(GL_REGISTER_COMBINERS_NV);
+            return true;
         }
         else
         {
             DebugMessage(M64MSG_ERROR, "Your video card does not support Nvidia OpenGL extension combiner");
             glDisable(GL_REGISTER_COMBINERS_NV);
+            return false;
         }
-        return true;
     }
 
     glDisable(GL_REGISTER_COMBINERS_NV);
diff --git a/src/OGLExtensions.cpp b/src/OGLExtensions.cpp
index bd0b0e7..a8897f3 100644
--- a/src/OGLExtensions.cpp
+++ b/src/OGLExtensions.cpp
@@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 static void APIENTRY EmptyFunc(void) { return; }
 
+bool                                 bNvidiaExtensionsSupported = false;
 PFUNCGLCOMBINERPARAMETERFVNVPROC     pglCombinerParameterfvNV = (PFUNCGLCOMBINERPARAMETERFVNVPROC) EmptyFunc;
 PFUNCGLFINALCOMBINERINPUTNVPROC      pglFinalCombinerInputNV = (PFUNCGLFINALCOMBINERINPUTNVPROC) EmptyFunc;
 PFUNCGLCOMBINEROUTPUTNVPROC          pglCombinerOutputNV = (PFUNCGLCOMBINEROUTPUTNVPROC) EmptyFunc;
@@ -50,11 +51,18 @@ PFUNCGLCLIENTACTIVETEXTUREARBPROC    pglClientActiveTextureARB = (PFUNCGLCLIENTA
 
 void OGLExtensions_Init(void)
 {
-    INIT_ENTRY_POINT(PFUNCGLCOMBINERPARAMETERFVNVPROC,     glCombinerParameterfvNV);
-    INIT_ENTRY_POINT(PFUNCGLFINALCOMBINERINPUTNVPROC,      glFinalCombinerInputNV);
-    INIT_ENTRY_POINT(PFUNCGLCOMBINEROUTPUTNVPROC,          glCombinerOutputNV);
-    INIT_ENTRY_POINT(PFUNCGLCOMBINERINPUTNVPROC,           glCombinerInputNV);
-    INIT_ENTRY_POINT(PFUNCGLCOMBINERPARAMETERINVPROC,      glCombinerParameteriNV);
+    /* nvidia extensions are a special case */
+    bNvidiaExtensionsSupported = true;
+    pglCombinerParameterfvNV = (PFUNCGLCOMBINERPARAMETERFVNVPROC) CoreVideo_GL_GetProcAddress("glCombinerParameterfvNV");
+    if (pglCombinerParameterfvNV == NULL) bNvidiaExtensionsSupported = false;
+    pglFinalCombinerInputNV = (PFUNCGLFINALCOMBINERINPUTNVPROC) CoreVideo_GL_GetProcAddress("glFinalCombinerInputNV");
+    if (pglFinalCombinerInputNV == NULL) bNvidiaExtensionsSupported = false;
+    pglCombinerOutputNV = (PFUNCGLCOMBINEROUTPUTNVPROC) CoreVideo_GL_GetProcAddress("glCombinerOutputNV");
+    if (pglCombinerOutputNV == NULL) bNvidiaExtensionsSupported = false;
+    pglCombinerInputNV = (PFUNCGLCOMBINERINPUTNVPROC) CoreVideo_GL_GetProcAddress("glCombinerInputNV");
+    if (pglCombinerInputNV == NULL) bNvidiaExtensionsSupported = false;
+    pglCombinerParameteriNV = (PFUNCGLCOMBINERPARAMETERINVPROC) CoreVideo_GL_GetProcAddress("glCombinerParameteriNV");
+    if (pglCombinerParameteriNV == NULL) bNvidiaExtensionsSupported = false;
 
     INIT_ENTRY_POINT(PFUNCGLACTIVETEXTUREPROC,             glActiveTexture);
     INIT_ENTRY_POINT(PFUNCGLACTIVETEXTUREARBPROC,          glActiveTextureARB);
diff --git a/src/OGLExtensions.h b/src/OGLExtensions.h
index da9c985..2b3cdef 100644
--- a/src/OGLExtensions.h
+++ b/src/OGLExtensions.h
@@ -48,6 +48,7 @@ typedef void (APIENTRYP PFUNCGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GL
 typedef void (APIENTRYP PFUNCGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
 typedef void (APIENTRYP PFUNCGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
 
+extern bool                                 bNvidiaExtensionsSupported;
 extern PFUNCGLCOMBINERPARAMETERFVNVPROC     pglCombinerParameterfvNV;
 extern PFUNCGLFINALCOMBINERINPUTNVPROC      pglFinalCombinerInputNV;
 extern PFUNCGLCOMBINEROUTPUTNVPROC          pglCombinerOutputNV;
diff --git a/src/OGLGraphicsContext.cpp b/src/OGLGraphicsContext.cpp
index eb3ffce..18e6620 100644
--- a/src/OGLGraphicsContext.cpp
+++ b/src/OGLGraphicsContext.cpp
@@ -379,7 +379,7 @@ void COGLGraphicsContext::UpdateFrame(bool swaponly)
    
    // if emulator defined a render callback function, call it before buffer swap
    if(renderCallback)
-       (*renderCallback)();
+       (*renderCallback)(status.bScreenIsDrawn);
 
    CoreVideo_GL_SwapBuffers();
    
diff --git a/src/Video.cpp b/src/Video.cpp
index 40066f6..66e1d1c 100644
--- a/src/Video.cpp
+++ b/src/Video.cpp
@@ -67,7 +67,7 @@ RECT frameWriteByCPURectArray[20][20];
 bool frameWriteByCPURectFlag[20][20];
 std::vector<uint32> frameWriteRecord;
 
-void (*renderCallback)() = NULL;
+void (*renderCallback)(int) = NULL;
 
 /* definitions of pointers to Core config functions */
 ptr_ConfigOpenSection      ConfigOpenSection = NULL;
@@ -940,7 +940,7 @@ EXPORT void CALL ReadScreen2(void *dest, int *width, int *height, int bFront)
 }
     
 
-EXPORT void CALL SetRenderingCallback(void (*callback)())
+EXPORT void CALL SetRenderingCallback(void (*callback)(int))
 {
     renderCallback = callback;
 }
diff --git a/src/Video.h b/src/Video.h
index e271c2c..85b6500 100644
--- a/src/Video.h
+++ b/src/Video.h
@@ -196,7 +196,7 @@ extern ptr_VidExt_GL_SwapBuffers        CoreVideo_GL_SwapBuffers;
 
 /* global functions provided by Video.cpp */
 extern char generalText[];
-extern void (*renderCallback)();
+extern void (*renderCallback)(int);
 void DebugMessage(int level, const char *message, ...);
 
 void SetVIScales();
diff --git a/src/version.h b/src/version.h
index 42f2d3a..b53b8c8 100644
--- a/src/version.h
+++ b/src/version.h
@@ -27,8 +27,8 @@
 #define VERSION_H
 
 #define PLUGIN_NAME    "Mupen64Plus OpenGL Video Plugin by Rice"
-#define PLUGIN_VERSION           0x016304
-#define VIDEO_PLUGIN_API_VERSION 0x020000
+#define PLUGIN_VERSION           0x016305
+#define VIDEO_PLUGIN_API_VERSION 0x020100
 #define CONFIG_API_VERSION       0x020000
 #define VIDEXT_API_VERSION       0x020000
 

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



More information about the Pkg-games-commits mailing list