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 4c6247216e7a0e37120641ee3f3706d5abb16954 Author: Sven Eckelmann <[email protected]> Date: Sun Dec 15 12:15:27 2013 +0100 Set shader again after displaying OSD Some titles like Resident Evil 2/Biohazard 2 display a cutscene and the shader is only set for the first frame. The next frames just expect that the old shader is still set. The OSD workaround only disabled the shader program before and expected that the next frame automatically sets it again. This assumption was wrong and instead the program has to be reassigned again to the current rendering context when the renderCallback for the OSD was called. --- debian/changelog | 2 ++ debian/patches/series | 1 + debian/patches/shader_reset.patch | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/debian/changelog b/debian/changelog index 952fab9..f97ebda 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ mupen64plus-video-glide64mk2 (2.0-3) UNRELEASED; urgency=low * Upgraded to policy 3.9.5, no changes required + * debian/patches: + - Add shader_reset.patch, Set shader again after displaying OSD -- Sven Eckelmann <[email protected]> Sat, 16 Nov 2013 18:13:03 +0100 diff --git a/debian/patches/series b/debian/patches/series index 564759b..c98bbbe 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,3 +4,4 @@ init_quit.patch load_hires_cache.patch kfreebsd_hurd_support.patch path_max_war.patch +shader_reset.patch diff --git a/debian/patches/shader_reset.patch b/debian/patches/shader_reset.patch new file mode 100644 index 0000000..5017534 --- /dev/null +++ b/debian/patches/shader_reset.patch @@ -0,0 +1,36 @@ +Description: Set shader again after displaying OSD + Some titles like Resident Evil 2/Biohazard 2 display a cutscene and the shader + is only set for the first frame. The next frames just expect that the old + shader is still set. + . + The OSD workaround only disabled the shader program before and expected that + the next frame automatically sets it again. This assumption was wrong and + instead the program has to be reassigned again to the current rendering + context when the renderCallback for the OSD was called. +Author: Sven Eckelmann <[email protected]> + +--- +diff --git a/src/Glitch64/glitchmain.cpp b/src/Glitch64/glitchmain.cpp +index 773a4db4d2396a44821361ba64ba676eafa6e9ea..1eac91e09bae458d32311c855b707acfce88202f 100644 +--- a/src/Glitch64/glitchmain.cpp ++++ b/src/Glitch64/glitchmain.cpp +@@ -1661,11 +1661,17 @@ grBufferClear( GrColor_t color, GrAlpha_t alpha, FxU32 depth ) + FX_ENTRY void FX_CALL + grBufferSwap( FxU32 swap_interval ) + { ++ GLuint program; ++ + glFinish(); +- glUseProgramObjectARB(0); + // printf("rendercallback is %p\n", renderCallback); +- if(renderCallback) ++ if(renderCallback) { ++ glGetIntegerv(GL_CURRENT_PROGRAM, (GLint*) &program); ++ glUseProgramObjectARB(0); + (*renderCallback)(1); ++ if (program) ++ glUseProgramObjectARB(program); ++ } + int i; + LOG("grBufferSwap(%d)\r\n", swap_interval); + //printf("swap\n"); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-video-glide64mk2.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

