From 6d90e8395a46652318deb259db45ed96f3d8436d Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Tue, 16 Oct 2018 07:07:49 +0200 Subject: [PATCH] don't use glFinish in test functions --- ddraw.rc | 2 +- src/render.c | 13 ++----------- src/render_d3d9.c | 18 ++++++------------ 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/ddraw.rc b/ddraw.rc index 538ae17..84484f3 100644 --- a/ddraw.rc +++ b/ddraw.rc @@ -2,7 +2,7 @@ #define vxstr(a,b,c,d) str(a##.##b##.##c##.##d) #define str(s) #s -#define VERSION 1,2,1,2 +#define VERSION 1,2,1,3 1 VERSIONINFO FILEVERSION VERSION diff --git a/src/render.c b/src/render.c index 3a167a6..c35589a 100644 --- a/src/render.c +++ b/src/render.c @@ -517,7 +517,8 @@ static void Render() ddraw->render.viewport.x, ddraw->render.viewport.y, ddraw->render.viewport.width, ddraw->render.viewport.height); - glUseProgram(PaletteProgram); + if (PaletteProgram) + glUseProgram(PaletteProgram); while (UseOpenGL && ddraw->render.run && WaitForSingleObject(ddraw->render.sem, INFINITE) != WAIT_FAILED) { @@ -798,12 +799,9 @@ static BOOL TextureUploadTest() GL_UNSIGNED_BYTE, SurfaceTex); - glFinish(); - memset(SurfaceTex, 0, sizeof(testData)); glGetTexImage(GL_TEXTURE_2D, 0, SurfaceFormat, GL_UNSIGNED_BYTE, SurfaceTex); - glFinish(); if (memcmp(SurfaceTex, testData, sizeof(testData)) != 0) return FALSE; @@ -824,12 +822,9 @@ static BOOL TextureUploadTest() GL_UNSIGNED_BYTE, SurfaceTex); - glFinish(); - memset(SurfaceTex, 0, sizeof(testData)); glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, SurfaceTex); - glFinish(); if (memcmp(SurfaceTex, testData, sizeof(testData)) != 0) return FALSE; @@ -909,13 +904,9 @@ static BOOL ShaderTest() glBindTexture(GL_TEXTURE_2D, 0); glActiveTexture(GL_TEXTURE0); - glFinish(); - glBindTexture(GL_TEXTURE_2D, fboTexId); glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, SurfaceTex); - glFinish(); - int i; for (i = 0; i < SurfaceTexHeight * SurfaceTexWidth; i++) { diff --git a/src/render_d3d9.c b/src/render_d3d9.c index 99f7b1f..15a101a 100644 --- a/src/render_d3d9.c +++ b/src/render_d3d9.c @@ -26,17 +26,6 @@ static BOOL CreateResources(); static BOOL SetStates(); static BOOL UpdateVertices(BOOL inCutscene); static void SetMaxFPS(); -static void Render(); - -DWORD WINAPI render_d3d9_main(void) -{ - Sleep(500); - - SetMaxFPS(); - Render(); - - return 0; -} BOOL Direct3D9_Create() { @@ -265,8 +254,12 @@ static void SetMaxFPS() FrameLength = 1000.0f / MaxFPS; } -static void Render() +DWORD WINAPI render_d3d9_main(void) { + Sleep(500); + + SetMaxFPS(); + DWORD tickStart = 0; DWORD tickEnd = 0; @@ -364,4 +357,5 @@ static void Render() Sleep(FrameLength - (tickEnd - tickStart)); } } + return 0; }