From addd3926d91d3759391fe87b9a8430de758b258e Mon Sep 17 00:00:00 2001 From: degasus Date: Thu, 11 Apr 2013 16:27:32 +0200 Subject: [PATCH] ogl: remove GL_TRIANGLE_FAN on utils rendering wtf have I done? fans aren't supported well on hardware --- .../Plugins/Plugin_VideoOGL/Src/TextureCache.cpp | 8 ++++---- .../Plugin_VideoOGL/Src/TextureConverter.cpp | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp index 2d19b18020..04ba57eda1 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp @@ -358,10 +358,10 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo (GLfloat)targetSource.left, (GLfloat)targetSource.bottom, -1.f, -1.f, (GLfloat)targetSource.left, (GLfloat)targetSource.top, - 1.f, -1.f, - (GLfloat)targetSource.right, (GLfloat)targetSource.top, 1.f, 1.f, - (GLfloat)targetSource.right, (GLfloat)targetSource.bottom + (GLfloat)targetSource.right, (GLfloat)targetSource.bottom, + 1.f, -1.f, + (GLfloat)targetSource.right, (GLfloat)targetSource.top }; glBindBuffer(GL_ARRAY_BUFFER, vbo_it->second.vbo); @@ -371,7 +371,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo } glBindVertexArray(vbo_it->second.vao); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp index 1059e90b35..cd738c7026 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp @@ -250,10 +250,10 @@ void EncodeToRamUsingShader(GLuint srcTexture, const TargetRectangle& sourceRc, (float)sourceRc.left, (float)sourceRc.top, -1.f, 1.f, (float)sourceRc.left, (float)sourceRc.bottom, - 1.f, 1.f, - (float)sourceRc.right, (float)sourceRc.bottom, 1.f, -1.f, - (float)sourceRc.right, (float)sourceRc.top + (float)sourceRc.right, (float)sourceRc.top, + 1.f, 1.f, + (float)sourceRc.right, (float)sourceRc.bottom }; glBindBuffer(GL_ARRAY_BUFFER, s_encode_VBO ); glBufferData(GL_ARRAY_BUFFER, 4*4*sizeof(GLfloat), vertices, GL_STREAM_DRAW); @@ -262,7 +262,7 @@ void EncodeToRamUsingShader(GLuint srcTexture, const TargetRectangle& sourceRc, } glBindVertexArray( s_encode_VAO ); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); @@ -426,10 +426,10 @@ void DecodeToTexture(u32 xfbAddr, int srcWidth, int srcHeight, GLuint destRender (float)srcFmtWidth, (float)srcHeight, 1.f, 1.f, (float)srcFmtWidth, 0.f, - -1.f, 1.f, - 0.f, 0.f, -1.f, -1.f, - 0.f, (float)srcHeight + 0.f, (float)srcHeight, + -1.f, 1.f, + 0.f, 0.f }; glBindBuffer(GL_ARRAY_BUFFER, s_decode_VBO ); @@ -440,7 +440,7 @@ void DecodeToTexture(u32 xfbAddr, int srcWidth, int srcHeight, GLuint destRender } glBindVertexArray( s_decode_VAO ); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); GL_REPORT_ERRORD();