summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL
diff options
context:
space:
mode:
authorNeoBrainX <NeoBrainX@googlemail.com>2011-09-05 22:04:28 +0200
committerNeoBrainX <NeoBrainX@googlemail.com>2011-09-05 22:04:28 +0200
commit17fcd406fcf68059ee5c0e940d42e9bcdcd32842 (patch)
treeb1e7515857ebe5843e525188d97a5d5895272385 /Source/Plugins/Plugin_VideoOGL
parentb867c21fea6401c0f9886129621bb0dbae962a4a (diff)
Merge some scissor rect related code to VideoCommon.
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Render.cpp19
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Render.h2
2 files changed, 5 insertions, 16 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
index 1567c9825b..ca3280673e 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
@@ -60,6 +60,7 @@
#include "Core.h"
#include "Movie.h"
#include "Host.h"
+#include "BPFunctions.h"
#include "main.h" // Local
#ifdef _WIN32
@@ -642,21 +643,9 @@ TargetRectangle Renderer::ConvertEFBRectangle(const EFBRectangle& rc)
// Renderer::GetTargetHeight() = the fixed ini file setting
// donkopunchstania - it appears scissorBR is the bottom right pixel inside the scissor box
// therefore the width and height are (scissorBR + 1) - scissorTL
-void Renderer::SetScissorRect()
+void Renderer::SetScissorRect(const TargetRectangle& rc)
{
- EFBRectangle rc;
- GetScissorRect(rc);
-
- if (rc.left < 0) rc.left = 0;
- if (rc.top < 0) rc.top = 0;
- if (rc.right > EFB_WIDTH) rc.right = EFB_WIDTH;
- if (rc.bottom > EFB_HEIGHT) rc.bottom = EFB_HEIGHT;
-
- if (rc.left > rc.right) rc.right = rc.left;
- if (rc.top > rc.bottom) rc.bottom = rc.top;
-
- TargetRectangle trc = ConvertEFBRectangle(rc);
- glScissor(trc.left, trc.bottom, trc.GetWidth(), trc.GetHeight());
+ glScissor(rc.left, rc.bottom, rc.GetWidth(), rc.GetHeight());
}
void Renderer::SetColorMask()
@@ -1404,7 +1393,7 @@ void Renderer::RestoreAPIState()
// Gets us back into a more game-like state.
glEnable(GL_SCISSOR_TEST);
SetGenerationMode();
- SetScissorRect();
+ BPFunctions::SetScissor();
SetColorMask();
SetDepthMode();
SetBlendMode(true);
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.h b/Source/Plugins/Plugin_VideoOGL/Src/Render.h
index b14617bed6..032a9a222c 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Render.h
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.h
@@ -15,7 +15,7 @@ public:
void SetColorMask();
void SetBlendMode(bool forceUpdate);
- void SetScissorRect();
+ void SetScissorRect(const TargetRectangle& rc);
void SetGenerationMode();
void SetDepthMode();
void SetLogicOpMode();