aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Sundermann <stephansundermann@gmail.com>2023-10-16 16:52:25 +0200
committerGitHub <noreply@github.com>2023-10-16 16:52:25 +0200
commit8c508cd1737aa8cabf1bbaae7ce1efe9837f504e (patch)
treee8b5ddcf4796f1e93d7e9446b65ae7ed72bfb9aa
parent7529c5b4aed039e7edbbe0d1f0a94dc7cea9bb25 (diff)
parenta5bfc5daf19721c32538f2b79ffaf796408af731 (diff)
downloadxbmc-8c508cd1737aa8cabf1bbaae7ce1efe9837f504e.tar.xz
Merge pull request #23917 from webosbrew/webos-renderer-fixes
[webOS] Renderer: Fix render region
-rw-r--r--xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererStarfish.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererStarfish.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererStarfish.cpp
index b2231ff84f..c065762a73 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererStarfish.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererStarfish.cpp
@@ -83,8 +83,28 @@ bool CRendererStarfish::Register()
void CRendererStarfish::ManageRenderArea()
{
+ // this hack is needed to get the 2D mode of a 3D movie going
+ RENDER_STEREO_MODE stereoMode = CServiceBroker::GetWinSystem()->GetGfxContext().GetStereoMode();
+ if (stereoMode == RENDER_STEREO_MODE_MONO)
+ CServiceBroker::GetWinSystem()->GetGfxContext().SetStereoView(RENDER_STEREO_VIEW_LEFT);
+
CBaseRenderer::ManageRenderArea();
+ if (stereoMode == RENDER_STEREO_MODE_MONO)
+ CServiceBroker::GetWinSystem()->GetGfxContext().SetStereoView(RENDER_STEREO_VIEW_OFF);
+
+ switch (stereoMode)
+ {
+ case RENDER_STEREO_MODE_SPLIT_HORIZONTAL:
+ m_destRect.y2 *= 2.0f;
+ break;
+ case RENDER_STEREO_MODE_SPLIT_VERTICAL:
+ m_destRect.x2 *= 2.0f;
+ break;
+ default:
+ break;
+ }
+
if ((m_exportedDestRect != m_destRect || m_exportedSourceRect != m_sourceRect) &&
!m_sourceRect.IsEmpty() && !m_destRect.IsEmpty())
{
@@ -160,8 +180,6 @@ void CRendererStarfish::Update()
{
return;
}
-
- ManageRenderArea();
}
void CRendererStarfish::RenderUpdate(
@@ -171,4 +189,6 @@ void CRendererStarfish::RenderUpdate(
{
return;
}
+
+ ManageRenderArea();
}