From 52bc5ad23f9230fbbbeadb0cd08bfb1c46ee73af Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Thu, 24 May 2018 05:21:24 +0200 Subject: [PATCH] prevent switching to GDI on core profile --- src/render.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/render.c b/src/render.c index c3eb1de..04c437e 100644 --- a/src/render.c +++ b/src/render.c @@ -156,6 +156,9 @@ DWORD WINAPI render_main(void) { glUseProgram(paletteConvProgram); + glUniform1i(glGetUniformLocation(paletteConvProgram, "SurfaceTex"), 0); + glUniform1i(glGetUniformLocation(paletteConvProgram, "PaletteTex"), 1); + if (gotOpenglV3) { mainVertexCoordAttrLoc = glGetAttribLocation(paletteConvProgram, "VertexCoord"); @@ -241,18 +244,6 @@ DWORD WINAPI render_main(void) glUniformMatrix4fv(glGetUniformLocation(paletteConvProgram, "MVPMatrix"), 1, GL_FALSE, mvpMatrix); } - - glActiveTexture(GL_TEXTURE0); - glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, surfaceTexId); - glUniform1i(glGetUniformLocation(paletteConvProgram, "SurfaceTex"), 0); - - glActiveTexture(GL_TEXTURE1); - glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, paletteTexId); - glUniform1i(glGetUniformLocation(paletteConvProgram, "PaletteTex"), 1); - - glActiveTexture(GL_TEXTURE0); } GLint frameCountUniLoc = -1; @@ -408,10 +399,10 @@ DWORD WINAPI render_main(void) glBindFramebuffer(GL_FRAMEBUFFER, 0); } - glEnable(GL_TEXTURE_2D); - BOOL useOpenGL = !(ddraw->autorenderer && (!paletteConvProgram || glGetError() != GL_NO_ERROR)); + glEnable(GL_TEXTURE_2D); + while (useOpenGL && ddraw->render.run && WaitForSingleObject(ddraw->render.sem, INFINITE) != WAIT_FAILED) { #if _DEBUG @@ -534,8 +525,10 @@ DWORD WINAPI render_main(void) if (paletteConvProgram) { glActiveTexture(GL_TEXTURE0); + glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, surfaceTexId); glActiveTexture(GL_TEXTURE1); + glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, paletteTexId); glActiveTexture(GL_TEXTURE0); }