Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

gles, fixed, add missing functions

  • Loading branch information...
commit 753f414209bf921f03e16984d7b110443e13729b 1 parent 2df043a
@davilla davilla authored
View
27 xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
@@ -419,6 +419,22 @@ void CLinuxRendererGLES::Reset()
}
}
+void CLinuxRendererGLES::Flush()
+{
+ if (!m_bValidated)
+ return;
+
+ glFinish();
+
+ for (int i = 0 ; i < m_NumYV12Buffers ; i++)
+ (this->*m_textureDelete)(i);
+
+ glFinish();
+ m_bValidated = false;
+ m_fbo.Cleanup();
+ m_iYV12RenderBuffer = 0;
+}
+
void CLinuxRendererGLES::Update()
{
if (!m_bConfigured) return;
@@ -795,6 +811,17 @@ inline void CLinuxRendererGLES::ReorderDrawPoints()
}
}
+void CLinuxRendererGLES::ReleaseBuffer(int idx)
+{
+#ifdef HAVE_VIDEOTOOLBOXDECODER
+ YUVBUFFER &buf = m_buffers[idx];
+
+ if (buf.cvBufferRef)
+ CVBufferRelease(buf.cvBufferRef);
+ buf.cvBufferRef = NULL;
+#endif
+}
+
void CLinuxRendererGLES::Render(DWORD flags, int index)
{
// If rendered directly by the hardware
View
2  xbmc/cores/VideoRenderers/LinuxRendererGLES.h
@@ -138,7 +138,9 @@ class CLinuxRendererGLES : public CBaseRenderer
virtual unsigned int PreInit();
virtual void UnInit();
virtual void Reset(); /* resets renderer after seek for example */
+ virtual void Flush();
virtual void ReorderDrawPoints();
+ virtual void ReleaseBuffer(int idx);
virtual void SetBufferSize(int numBuffers) { m_NumYV12Buffers = numBuffers; }
virtual unsigned int GetMaxBufferSize() { return NUM_BUFFERS; }
virtual unsigned int GetProcessorSize();
Please sign in to comment.
Something went wrong with that request. Please try again.