aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMemphiz <memphis@machzwo.de>2012-12-10 23:36:48 +0100
committerMemphiz <memphis@machzwo.de>2012-12-10 23:41:00 +0100
commit7037a5d603f8903d43948ae3d7588764f142f614 (patch)
tree08ae610f4d077758a2e70161d92fe4ffc9fd7298
parentc3cf4fb9cf8579ef67cb33072639bcf8262a3eac (diff)
[vda/vtb] - videocoreref is flipped in y direction - somehow this influences the rendercapture image in a way that it is flipped in y too (relevant for the bookmarks and boblight). glReadPixels always returns a y flipped image - so we flip it via matrices before rendering the capture image - for corevideobuf we now skip the flip for fixing the upside down bookmarks (commented with fixme - because we still don't understand why this is affecting rendercapture at all)
-rw-r--r--xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
index 0630f134f8..c7c4f072ad 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
@@ -1323,8 +1323,15 @@ bool CLinuxRendererGLES::RenderCapture(CRenderCapture* capture)
g_matrices.MatrixMode(MM_MODELVIEW);
g_matrices.PushMatrix();
- g_matrices.Translatef(0.0f, capture->GetHeight(), 0.0f);
- g_matrices.Scalef(1.0f, -1.0f, 1.0f);
+ // fixme - we know that cvref is already flipped in y direction
+ // but somehow this also effects the rendercapture here
+ // for cvref we have to skip the flip here or we get upside down
+ // images
+ if (m_renderMethod != RENDER_CVREF)
+ {
+ g_matrices.Translatef(0.0f, capture->GetHeight(), 0.0f);
+ g_matrices.Scalef(1.0f, -1.0f, 1.0f);
+ }
capture->BeginRender();