diff options
-rw-r--r-- | source/blender/gpu/intern/gpu_immediate.cc | 8 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_immediate_private.hh | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/gpu/intern/gpu_immediate.cc b/source/blender/gpu/intern/gpu_immediate.cc index 95718391165..e56dcd16528 100644 --- a/source/blender/gpu/intern/gpu_immediate.cc +++ b/source/blender/gpu/intern/gpu_immediate.cc @@ -166,7 +166,7 @@ static void wide_line_workaround_start(GPUPrimType prim_type) return; } - imm->prev_shader = imm->shader; + imm->prev_builtin_shader = imm->builtin_shader_bound; immUnbindProgram(); @@ -194,15 +194,15 @@ static void wide_line_workaround_start(GPUPrimType prim_type) static void wide_line_workaround_end() { - if (imm->prev_shader) { + if (imm->prev_builtin_shader) { if (GPU_blend_get() == GPU_BLEND_NONE) { /* Restore default. */ immUniform1i("lineSmooth", 1); } immUnbindProgram(); - immBindShader(imm->prev_shader); - imm->prev_shader = nullptr; + immBindBuiltinProgram(imm->prev_builtin_shader); + imm->prev_builtin_shader = GPU_SHADER_TEXT; } } diff --git a/source/blender/gpu/intern/gpu_immediate_private.hh b/source/blender/gpu/intern/gpu_immediate_private.hh index 98399897ea9..382f70eeec4 100644 --- a/source/blender/gpu/intern/gpu_immediate_private.hh +++ b/source/blender/gpu/intern/gpu_immediate_private.hh @@ -58,7 +58,7 @@ class Immediate { /** Wide Line workaround. */ /** Previously bound shader to restore after drawing. */ - GPUShader *prev_shader = NULL; + eGPUBuiltinShader prev_builtin_shader = GPU_SHADER_TEXT; /** Builtin shader index. Used to test if the workaround can be done. */ eGPUBuiltinShader builtin_shader_bound = GPU_SHADER_TEXT; /** Uniform color: Kept here to update the wide-line shader just before #immBegin. */ |