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:
authorBrecht Van Lommel <brecht@blender.org>2020-05-20 00:42:32 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-05-20 00:42:32 +0300
commit5267ce8e035db1a3d4acca7d652cc9913d3c9156 (patch)
tree3b202d46b86670cc1163197d0e4920502c669141
parent8e0a57f9bd58b8325329f4cf564de0b39c98c6e3 (diff)
parent59cfb20fa112e636a6ae85cb6fdc048f16af5637 (diff)
Merge branch 'blender-v2.83-release'
-rw-r--r--source/blender/editors/interface/view2d_draw.c15
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c5
2 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/editors/interface/view2d_draw.c b/source/blender/editors/interface/view2d_draw.c
index 17a95ba3fff..95fec2a10e9 100644
--- a/source/blender/editors/interface/view2d_draw.c
+++ b/source/blender/editors/interface/view2d_draw.c
@@ -40,6 +40,7 @@
#include "GPU_immediate.h"
#include "GPU_matrix.h"
+#include "GPU_state.h"
#include "WM_api.h"
@@ -196,7 +197,19 @@ static void draw_parallel_lines(const ParallelLinesSet *lines,
GPUVertFormat *format = immVertexFormat();
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+ if (U.pixelsize > 1.0f) {
+ float viewport[4];
+ GPU_viewport_size_get_f(viewport);
+
+ immBindBuiltinProgram(GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR);
+ immUniform2fv("viewportSize", &viewport[2]);
+ /* 0.5f factor here is because the line is too fat due to the builtin antialiasing.
+ * TODO make a variant or a uniform to toggle it off. */
+ immUniform1f("lineWidth", 0.5f * U.pixelsize);
+ }
+ else {
+ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+ }
immUniformColor3ubv(color);
immBegin(GPU_PRIM_LINES, steps * 2);
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 5221cc09ad9..cef90d57ef5 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -151,7 +151,10 @@ static bool gpu_pbvh_vert_buf_data_set(GPU_PBVH_Buffers *buffers, uint vert_len)
/* Initialize vertex buffer (match 'VertexBufferFormat'). */
buffers->vert_buf = GPU_vertbuf_create_with_format_ex(&g_vbo_id.format, GPU_USAGE_STATIC);
}
- GPU_vertbuf_data_alloc(buffers->vert_buf, vert_len);
+ if (buffers->vert_buf->data == NULL || buffers->vert_buf->vertex_len != vert_len) {
+ /* Allocate buffer if not allocated yet or size changed. */
+ GPU_vertbuf_data_alloc(buffers->vert_buf, vert_len);
+ }
#endif
return buffers->vert_buf->data != NULL;