summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2014-01-29 14:43:29 -0800
committerPierre Bourdon <delroth@gmail.com>2014-01-29 14:43:29 -0800
commit23e64001dd62a2723a01ffc3b216b20bf8b66e66 (patch)
tree0f5a73daa119f517d30293a4a075c2070dec88ac /Source/Core/VideoBackends/OGL/Render.cpp
parent5df958fe23e212436ed2e651b2533ec9243844e9 (diff)
parent99b6c82ac34c086a21bab9d197a53d97175340dd (diff)
Merge pull request #10 from Sonicadvance1/Fix-AdrenoBlitRotate
[Android] Fix Adreno v53 development drivers rotating framebuffer
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 898d907dc1..a04071be30 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -1299,10 +1299,15 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangle& r
UpdateDrawRectangle(s_backbuffer_width, s_backbuffer_height);
TargetRectangle flipped_trc = GetTargetRectangle();
- // Flip top and bottom for some reason; TODO: Fix the code to suck less?
- int tmp = flipped_trc.top;
- flipped_trc.top = flipped_trc.bottom;
- flipped_trc.bottom = tmp;
+ if (DriverDetails::HasBug(DriverDetails::BUG_ROTATEDFRAMEBUFFER))
+ {
+ std::swap(flipped_trc.left, flipped_trc.right);
+ }
+ else
+ {
+ // Flip top and bottom for some reason; TODO: Fix the code to suck less?
+ std::swap(flipped_trc.top, flipped_trc.bottom);
+ }
GL_REPORT_ERRORD();