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
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-10-09 16:12:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-10-09 17:33:59 +0300
commitd39043b5ae054510e3683b63cfefde76e5a4c6db (patch)
tree21d7b63cf0eeec6964b48cb6836cfd611add5f02 /source/blender/gpu/opengl
parent1f6b7387ad0177c1dec9bb83b7c7586a454691db (diff)
Revert "Revert "BGL: Workaround broken bgl usage caused by GPU refactor""
This reverts commit f23bf4cb109cb8f39f873c4f80acbec3f33b098c.
Diffstat (limited to 'source/blender/gpu/opengl')
-rw-r--r--source/blender/gpu/opengl/gl_debug.cc2
-rw-r--r--source/blender/gpu/opengl/gl_state.cc12
2 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/gpu/opengl/gl_debug.cc b/source/blender/gpu/opengl/gl_debug.cc
index 797f9ff404c..b2b05124463 100644
--- a/source/blender/gpu/opengl/gl_debug.cc
+++ b/source/blender/gpu/opengl/gl_debug.cc
@@ -200,7 +200,7 @@ void check_gl_error(const char *info)
void check_gl_resources(const char *info)
{
- if (!(G.debug & G_DEBUG_GPU)) {
+ if (!(G.debug & G_DEBUG_GPU) || GPU_bgl_get()) {
return;
}
diff --git a/source/blender/gpu/opengl/gl_state.cc b/source/blender/gpu/opengl/gl_state.cc
index cd24fa0e0e4..27c9b501add 100644
--- a/source/blender/gpu/opengl/gl_state.cc
+++ b/source/blender/gpu/opengl/gl_state.cc
@@ -73,13 +73,17 @@ GLStateManager::GLStateManager(void) : StateManager()
void GLStateManager::apply_state(void)
{
- this->set_state(this->state);
- this->set_mutable_state(this->mutable_state);
- this->texture_bind_apply();
- this->image_bind_apply();
+ if (!this->use_bgl) {
+ this->set_state(this->state);
+ this->set_mutable_state(this->mutable_state);
+ this->texture_bind_apply();
+ this->image_bind_apply();
+ }
+ /* This is needed by gpu_py_offscreen. */
active_fb->apply_state();
};
+/* Will set all the states regardless of the current ones. */
void GLStateManager::force_state(void)
{
/* Little exception for clip distances since they need to keep the old count correct. */