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-11-05 20:00:48 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-11-05 20:00:48 +0300
commitd9dd408b42c8b0c98e85290dc353672780212464 (patch)
tree9bf6309d403c23d72e643e5aa0060d2a741a542c /source/blender/gpu
parent8819a4dce8d55c9237f7d68575f59baf7d59bb11 (diff)
parentc3e832144b0d22e3da883330212247808a9db2cf (diff)
Merge branch 'blender-v2.91-release' into master
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/intern/gpu_framebuffer_private.hh6
-rw-r--r--source/blender/gpu/intern/gpu_immediate_private.hh2
-rw-r--r--source/blender/gpu/opengl/gl_state.cc7
3 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_framebuffer_private.hh b/source/blender/gpu/intern/gpu_framebuffer_private.hh
index 87f0f3823e6..7afa56bfe3d 100644
--- a/source/blender/gpu/intern/gpu_framebuffer_private.hh
+++ b/source/blender/gpu/intern/gpu_framebuffer_private.hh
@@ -100,10 +100,10 @@ class FrameBuffer {
/** Debug name. */
char name_[DEBUG_NAME_LEN];
/** Frame-buffer state. */
- int viewport_[4];
- int scissor_[4];
+ int viewport_[4] = {0};
+ int scissor_[4] = {0};
bool scissor_test_ = false;
- bool dirty_state_;
+ bool dirty_state_ = true;
public:
FrameBuffer(const char *name);
diff --git a/source/blender/gpu/intern/gpu_immediate_private.hh b/source/blender/gpu/intern/gpu_immediate_private.hh
index e6c11120d7e..9fcbe2bdc0b 100644
--- a/source/blender/gpu/intern/gpu_immediate_private.hh
+++ b/source/blender/gpu/intern/gpu_immediate_private.hh
@@ -47,7 +47,7 @@ class Immediate {
/** Current draw call specification. */
GPUPrimType prim_type = GPU_PRIM_NONE;
- GPUVertFormat vertex_format;
+ GPUVertFormat vertex_format = {};
GPUShader *shader = NULL;
/** Enforce strict vertex count (disabled when using immBeginAtMost). */
bool strict_vertex_len = true;
diff --git a/source/blender/gpu/opengl/gl_state.cc b/source/blender/gpu/opengl/gl_state.cc
index 3a474da8b8e..5483f889a8a 100644
--- a/source/blender/gpu/opengl/gl_state.cc
+++ b/source/blender/gpu/opengl/gl_state.cc
@@ -437,6 +437,13 @@ void GLStateManager::set_blend(const eGPUBlend value)
}
}
+ if (value == GPU_BLEND_SUBTRACT) {
+ glBlendEquation(GL_FUNC_REVERSE_SUBTRACT);
+ }
+ else {
+ glBlendEquation(GL_FUNC_ADD);
+ }
+
/* Always set the blend function. This avoid a rendering error when blending is disabled but
* GPU_BLEND_CUSTOM was used just before and the frame-buffer is using more than 1 color target.
*/