From f64330d50ebb2240b2ec72ecf152cf10a44c9ed1 Mon Sep 17 00:00:00 2001 From: somewhatlurker <52014015+somewhatlurker@users.noreply.github.com> Date: Sun, 9 Aug 2020 00:18:15 +1000 Subject: [PATCH] Novidia: smaller texture uploads when using glTexSubImage --- source-code/source/plugins/Novidia/src/dllmain.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source-code/source/plugins/Novidia/src/dllmain.cpp b/source-code/source/plugins/Novidia/src/dllmain.cpp index 155c04d..249c644 100644 --- a/source-code/source/plugins/Novidia/src/dllmain.cpp +++ b/source-code/source/plugins/Novidia/src/dllmain.cpp @@ -7,20 +7,27 @@ // two versions because apparently TexSubImage can cause major stuttering void h_uploadModelTransformBuf_TexImage(DWORD* a1, int a2) { + if (a2 > 0x100) + return; + uploadModelTransformBuf(a1, a2); glActiveTexture(GL_TEXTURE8); glBindTexture(GL_TEXTURE_1D, buf_tex); + // can't change tex size without making shader sad :( glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA32F, 0x3000 / sizeof(float) / 4, 0, tex_upload_format, GL_FLOAT, *(float**)0x1411a3330); glActiveTexture(GL_TEXTURE0); } void h_uploadModelTransformBuf_TexSubImage(DWORD* a1, int a2) { + if (a2 > 0x100) + return; + uploadModelTransformBuf(a1, a2); glActiveTexture(GL_TEXTURE8); glBindTexture(GL_TEXTURE_1D, buf_tex); - glTexSubImage1D(GL_TEXTURE_1D, 0, 0, 0x3000 / sizeof(float) / 4, tex_upload_format, GL_FLOAT, *(float**)0x1411a3330); + glTexSubImage1D(GL_TEXTURE_1D, 0, 0, a2 * 3, tex_upload_format, GL_FLOAT, *(float**)0x1411a3330); glActiveTexture(GL_TEXTURE0); }