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 <[email protected]> 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 _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

