From 894bbeb7437cf8e86e55cd547e98d6ea658c817f Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Fri, 19 Feb 2021 00:21:28 +0100 Subject: [PATCH 1/2] Close CPostFX when attempting to Open again Stops front/back buffers and some shaders from leaking --- src/extras/postfx.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/extras/postfx.cpp b/src/extras/postfx.cpp index 03d4833e0..8bdf82755 100644 --- a/src/extras/postfx.cpp +++ b/src/extras/postfx.cpp @@ -48,6 +48,9 @@ CPostFX::InitOnce(void) void CPostFX::Open(RwCamera *cam) { + if(bJustInitialised){ + CPostFX::Close(); + } uint32 width = Pow(2.0f, int32(log2(RwRasterGetWidth (RwCameraGetRaster(cam))))+1); uint32 height = Pow(2.0f, int32(log2(RwRasterGetHeight(RwCameraGetRaster(cam))))+1); uint32 depth = RwRasterGetDepth(RwCameraGetRaster(cam)); From 402d85af5f0976bbc0f61b8de3a82747663671be Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Fri, 19 Feb 2021 16:20:26 +0100 Subject: [PATCH 2/2] Open Motion Blur stuff again after a camera resize Fixes incorrect PostFX raster sizes after resolution change --- src/rw/RwHelper.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/rw/RwHelper.cpp b/src/rw/RwHelper.cpp index 76749cb12..b25eb2969 100644 --- a/src/rw/RwHelper.cpp +++ b/src/rw/RwHelper.cpp @@ -6,6 +6,9 @@ #include "Timecycle.h" #include "skeleton.h" #include "Debug.h" +#if defined(FIX_BUGS) || defined(LIBRW) +#include "MBlur.h" +#endif #if !defined(FINAL) || defined(DEBUGMENU) #include "rtcharse.h" #endif @@ -486,6 +489,11 @@ CameraSize(RwCamera * camera, RwRect * rect, RwCameraSetRaster(camera, raster); RwCameraSetZRaster(camera, zRaster); } + + if(CMBlur::BlurOn) + { + CMBlur::MotionBlurOpen(camera); + } #else raster = RwCameraGetRaster(camera); zRaster = RwCameraGetZRaster(camera);