summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-03-17 12:37:37 +0100
committerdegasus <wickmarkus@web.de>2013-03-17 12:37:37 +0100
commit7597b8b8d50e14f3244d40d992746d500404a42e (patch)
treee9c923abfa52a6ed872cf33cea2e15bb9375dae7 /Source/Plugins/Plugin_VideoSoftware
parent2312a8d9d5d15836dedc857d22ffdc23418ba00f (diff)
fix software backend
ogl rasterfont sets vao and vbo, but both aren't used on software backend
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware')
-rw-r--r--Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
index 91d35af849..f57d0b334b 100644
--- a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
+++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
@@ -20,6 +20,7 @@
#include "../../Plugin_VideoOGL/Src/GLUtil.h"
#include "../../Plugin_VideoOGL/Src/RasterFont.h"
+#include "../../Plugin_VideoOGL/Src/ProgramShaderCache.h"
#include "SWRenderer.h"
#include "SWStatistics.h"
@@ -30,6 +31,7 @@ static GLint uni_tex = -1;
static GLuint program;
// Rasterfont isn't compatible with GLES
+// degasus: I think it does, but I can't test it
#ifndef USE_GLES
OGL::RasterFont* s_pfont = NULL;
#endif
@@ -45,6 +47,7 @@ void SWRenderer::Shutdown()
#ifndef USE_GLES
delete s_pfont;
s_pfont = 0;
+ OGL::ProgramShaderCache::Shutdown();
#endif
}
@@ -87,6 +90,8 @@ void SWRenderer::Prepare()
CreateShaders();
// TODO: Enable for GLES once RasterFont supports GLES
#ifndef USE_GLES
+ // ogl rasterfont depends on ogl programshadercache
+ OGL::ProgramShaderCache::Init();
s_pfont = new OGL::RasterFont();
glEnable(GL_TEXTURE_2D);
#endif
@@ -103,6 +108,9 @@ void SWRenderer::RenderText(const char* pstr, int left, int top, u32 color)
left * 2.0f / (float)nBackbufferWidth - 1,
1 - top * 2.0f / (float)nBackbufferHeight,
0, nBackbufferWidth, nBackbufferHeight, color);
+
+ glBindVertexArray(0);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
#endif
}