From 32942b26aad801432f42fdc78f9ea25d3f45b729 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 21 Feb 2013 18:09:07 +0100 Subject: fix ass subs for GLES --- xbmc/cores/VideoRenderers/OverlayRendererGL.cpp | 33 ++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/xbmc/cores/VideoRenderers/OverlayRendererGL.cpp b/xbmc/cores/VideoRenderers/OverlayRendererGL.cpp index 4375d19cae..ed8e48d487 100644 --- a/xbmc/cores/VideoRenderers/OverlayRendererGL.cpp +++ b/xbmc/cores/VideoRenderers/OverlayRendererGL.cpp @@ -359,7 +359,7 @@ COverlayGlyphGL::~COverlayGlyphGL() void COverlayGlyphGL::Render(SRenderState& state) { - if (m_texture == 0) + if ((m_texture == 0) || (m_count == 0)) return; glEnable(GL_TEXTURE_2D); @@ -418,21 +418,32 @@ void COverlayGlyphGL::Render(SRenderState& state) GLint colLoc = g_Windowing.GUIShaderGetCol(); GLint tex0Loc = g_Windowing.GUIShaderGetCoord0(); - glVertexAttribPointer(posLoc, 3, GL_FLOAT, GL_FALSE, sizeof(VERTEX), (char*)m_vertex + offsetof(VERTEX, x)); - glVertexAttribPointer(colLoc, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(VERTEX), (char*)m_vertex + offsetof(VERTEX, r)); - glVertexAttribPointer(tex0Loc, 2, GL_FLOAT, GL_FALSE, sizeof(VERTEX), (char*)m_vertex + offsetof(VERTEX, u)); + // stack object until VBOs will be used + std::vector vecVertices( 6 * m_count); + VERTEX *vertices = &vecVertices[0]; + + for (int i=0; i