summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus+github@selfnet.de>2015-06-03 20:35:34 +0200
committerMarkus Wick <markus+github@selfnet.de>2015-06-03 20:35:34 +0200
commitbcd77f9a3a11752a16ca2c8c76946c6b112bdd4a (patch)
tree326de736fe250940c6c180da4be8077836258009 /Source/Core/VideoBackends/OGL/Render.cpp
parent349f9d549370d1b1ef7662e4cedef0c96133f232 (diff)
parent84b13de53813048f6caec80b39c7fb6ad695afc9 (diff)
Merge pull request #2482 from degasus/ogl_poke_z
OGL: Rewrite POKE_Z with a draw call
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp34
1 files changed, 2 insertions, 32 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 745a52a40c..1b4038e57f 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -1107,6 +1107,7 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
}
case POKE_COLOR:
+ case POKE_Z:
{
std::vector<EfbPokeData> vector;
EfbPokeData d;
@@ -1118,26 +1119,6 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
break;
}
- case POKE_Z:
- {
- ResetAPIState();
-
- glDepthMask(GL_TRUE);
- glClearDepthf(float(poke_data & 0xFFFFFF) / 16777216.0f);
-
- glEnable(GL_SCISSOR_TEST);
- glScissor(targetPixelRc.left, targetPixelRc.bottom, targetPixelRc.GetWidth(), targetPixelRc.GetHeight());
-
- glClear(GL_DEPTH_BUFFER_BIT);
-
- RestoreAPIState();
-
- // TODO: Could just update the EFB cache with the new value
- ClearEFBCache();
-
- break;
- }
-
default:
break;
}
@@ -1147,18 +1128,7 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
void Renderer::PokeEFB(EFBAccessType type, const std::vector<EfbPokeData>& data)
{
- switch(type)
- {
- case POKE_COLOR:
- {
- FramebufferManager::PokeEFB(type, data);
- break;
- }
-
- default:
- ::Renderer::PokeEFB(type, data);
- break;
- }
+ FramebufferManager::PokeEFB(type, data);
}
u16 Renderer::BBoxRead(int index)