Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-03-31 00:27:45 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-03-31 00:27:45 +0300
commit8b74741b9e1b8ac2cead829a3ca2621bb5950865 (patch)
tree363d02699e23ef5bedaf36427d43ef0f6a6eeeda /intern
parentddbde6d1c0cf9a33d284184f7a83431ef831d935 (diff)
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.
Diffstat (limited to 'intern')
-rw-r--r--intern/gawain/gawain/gwn_common.h2
-rw-r--r--intern/gawain/src/gwn_batch.c2
-rw-r--r--intern/gawain/src/gwn_immediate.c3
3 files changed, 6 insertions, 1 deletions
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;
}