From 3ff6a8bd6806b5afae9262fc1861beaa41f54463 Mon Sep 17 00:00:00 2001 From: Rodolfo Osvaldo Bogado Date: Wed, 19 May 2010 21:54:54 +0000 Subject: [PATCH] small commit to try to fix issue 1509 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5460 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Plugins/Plugin_VideoOGL/Src/TextureMngr.cpp | 2 ++ Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp | 12 ++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/TextureMngr.cpp b/Source/Plugins/Plugin_VideoOGL/Src/TextureMngr.cpp index 36db5a9feb..3623a5b6ba 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/TextureMngr.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/TextureMngr.cpp @@ -403,6 +403,7 @@ TextureMngr::TCacheEntry* TextureMngr::Load(int texstage, u32 address, int width int gl_format = 0; int gl_iformat = 0; int gl_type = 0; + GL_REPORT_ERRORD(); if (dfmt != PC_TEX_FMT_DXT1) { switch (dfmt) @@ -490,6 +491,7 @@ TextureMngr::TCacheEntry* TextureMngr::Load(int texstage, u32 address, int width width, height, 0, expandedWidth*expandedHeight/2, temp); } } + GL_REPORT_ERRORD(); if(TexLevels > 1 && dfmt != PC_TEX_FMT_NONE) { int level = 1; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp index 3230d718a6..492935f210 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp @@ -54,7 +54,7 @@ static u16 *TIBuffer; static u16 *LIBuffer; static u16 *PIBuffer; static GLint max_Index_size = 0; -#define MAXVBUFFERSIZE 0x50000 +#define MAXVBUFFERSIZE 0x1FFFF #define MAXIBUFFERSIZE 0xFFFF #define MAXVBOBUFFERCOUNT 0x8 @@ -79,10 +79,6 @@ bool Init() s_pCurBufferPointer = LocalVBuffer; s_nCurVBOIndex = 0; glGenBuffers(ARRAYSIZE(s_vboBuffers), s_vboBuffers); - for (u32 i = 0; i < ARRAYSIZE(s_vboBuffers); ++i) { - glBindBuffer(GL_ARRAY_BUFFER, s_vboBuffers[i]); - glBufferData(GL_ARRAY_BUFFER, MAXVBUFFERSIZE, NULL, GL_STREAM_DRAW); - } glEnableClientState(GL_VERTEX_ARRAY); g_nativeVertexFmt = NULL; Flushed=false; @@ -148,6 +144,7 @@ void AddVertices(int primitive, int numvertices) { if (numvertices <= 0) return; + GL_REPORT_ERROR(); switch (primitive) { case GX_DRAW_QUADS: @@ -235,13 +232,12 @@ void Flush() DVSTARTPROFILE(); - GL_REPORT_ERRORD(); + GL_REPORT_ERROR(); glBindBuffer(GL_ARRAY_BUFFER, s_vboBuffers[s_nCurVBOIndex]); - glBufferData(GL_ARRAY_BUFFER, s_pCurBufferPointer - LocalVBuffer, NULL, GL_STREAM_COPY); - glBufferSubData(GL_ARRAY_BUFFER,0, s_pCurBufferPointer - LocalVBuffer, LocalVBuffer); + glBufferData(GL_ARRAY_BUFFER, s_pCurBufferPointer - LocalVBuffer, LocalVBuffer, GL_STREAM_DRAW); GL_REPORT_ERRORD(); // setup the pointers