From 8b74741b9e1b8ac2cead829a3ca2621bb5950865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 30 Mar 2018 23:27:45 +0200 Subject: GWN: Perf: Bypass glUseProgram(0) I left a flag to quickly debug if something is wrong. But now that everything uses shader, it seems to be alright since a shader is always set active before drawing. --- intern/gawain/gawain/gwn_common.h | 2 ++ intern/gawain/src/gwn_batch.c | 2 ++ intern/gawain/src/gwn_immediate.c | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'intern') diff --git a/intern/gawain/gawain/gwn_common.h b/intern/gawain/gawain/gwn_common.h index e96a3b5c2a2..dc0a52ca096 100644 --- a/intern/gawain/gawain/gwn_common.h +++ b/intern/gawain/gawain/gwn_common.h @@ -11,6 +11,8 @@ #pragma once +#define PROGRAM_NO_OPTI 0 + #if defined(NDEBUG) #define TRUST_NO_ONE 0 #else diff --git a/intern/gawain/src/gwn_batch.c b/intern/gawain/src/gwn_batch.c index 8b16e8e1905..7d455dd4629 100644 --- a/intern/gawain/src/gwn_batch.c +++ b/intern/gawain/src/gwn_batch.c @@ -418,7 +418,9 @@ void GWN_batch_program_use_end(Gwn_Batch* batch) { if (batch->program_in_use) { +#if PROGRAM_NO_OPTI glUseProgram(0); +#endif batch->program_in_use = false; } } diff --git a/intern/gawain/src/gwn_immediate.c b/intern/gawain/src/gwn_immediate.c index 790c7d841bb..0e57aefebe2 100644 --- a/intern/gawain/src/gwn_immediate.c +++ b/intern/gawain/src/gwn_immediate.c @@ -140,8 +140,9 @@ void immUnbindProgram(void) #if TRUST_NO_ONE assert(imm.bound_program != 0); #endif - +#if PROGRAM_NO_OPTI glUseProgram(0); +#endif imm.bound_program = 0; } -- cgit v1.2.3