Revert "BGL: Workaround broken bgl usage caused by GPU refactor"

This reverts commit f12b0373f3.
This commit is contained in:
2020-10-08 17:58:38 +02:00
parent 479dc766b5
commit f23bf4cb10
7 changed files with 10 additions and 50 deletions

View File

@@ -317,39 +317,10 @@ void GPU_apply_state(void)
Context::get()->state_manager->apply_state();
}
/** \} */
/* -------------------------------------------------------------------- */
/** \name BGL workaround
*
* bgl makes direct GL calls that makes our state tracking out of date.
* This flag make it so that the pyGPU calls will not override the state set by
* bgl functions.
* \{ */
void GPU_bgl_start(void)
/* Will set all the states regardless of the current ones. */
void GPU_force_state(void)
{
StateManager &state_manager = *(Context::get()->state_manager);
if (state_manager.use_bgl == false) {
/* Expected by many addons (see T80169, T81289).
* This will reset the blend function. */
GPU_blend(GPU_BLEND_NONE);
state_manager.apply_state();
state_manager.use_bgl = true;
}
}
void GPU_bgl_end(void)
{
StateManager &state_manager = *(Context::get()->state_manager);
state_manager.use_bgl = false;
/* Resync state tracking. */
state_manager.force_state();
}
bool GPU_bgl_get(void)
{
return Context::get()->state_manager->use_bgl;
Context::get()->state_manager->force_state();
}
/** \} */

View File

@@ -153,7 +153,6 @@ class StateManager {
public:
GPUState state;
GPUStateMutable mutable_state;
bool use_bgl = false;
public:
StateManager();