From 7a7a71d3fa09faaab16d975a4ac8b61744e76e24 Mon Sep 17 00:00:00 2001 From: pierre Date: Sun, 13 Feb 2011 19:05:24 +0000 Subject: [PATCH] VideoOGL: reinitialize some more global variables, so VideoOGL always is in the same state when starting a guest program. Also constify the RasterFont, while we are at it. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7166 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Plugin_VideoOGL/Src/NativeVertexFormat.cpp | 2 ++ Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp | 2 +- Source/Plugins/Plugin_VideoOGL/Src/Render.cpp | 11 +++++++++++ .../Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp | 5 ++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp b/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp index d81f406e73..ebdc690d72 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp @@ -104,6 +104,8 @@ inline GLuint VarToGL(VarType t) void GLVertexFormat::Initialize(const PortableVertexDeclaration &_vtx_decl) { + s_prevcomponents = 0; + vertex_stride = _vtx_decl.stride; using namespace Gen; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp b/Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp index 18fa4cf817..da53fae6d5 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp @@ -22,7 +22,7 @@ #include "RasterFont.h" // globals -GLubyte rasters[][13] = { +const GLubyte rasters[][13] = { {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36}, diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp index 214d30d476..7170a8f9d3 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp @@ -192,6 +192,17 @@ void HandleCgError(CGcontext ctx, CGerror err, void* appdata) // Init functions Renderer::Renderer() { + OSDInternalW = 0; + OSDInternalH = 0; + + s_fps=0; + +#if defined _WIN32 || defined HAVE_LIBAV + s_bAVIDumping = false; +#else + f_pFrameDump = NULL; +#endif + bool bSuccess = true; s_blendMode = 0; s_MSAACoverageSamples = 0; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp index 98bc25d55d..ea945401b6 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp @@ -146,10 +146,13 @@ void Init() glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, s_dstRenderBuffer); glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA, renderBufferWidth, renderBufferHeight); + s_srcTextureWidth = 0; + s_srcTextureHeight = 0; + glGenTextures(1, &s_srcTexture); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, s_srcTexture); glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); CreateRgbToYuyvProgram(); CreateYuyvToRgbProgram();