[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