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:
-rw-r--r--source/blender/editors/space_node/drawnode.cc4
-rw-r--r--source/blender/gpu/GPU_shader_shared.h4
-rw-r--r--source/blender/gpu/shaders/gpu_shader_2D_nodelink_vert.glsl8
3 files changed, 9 insertions, 7 deletions
diff --git a/source/blender/editors/space_node/drawnode.cc b/source/blender/editors/space_node/drawnode.cc
index 9f0bc5cacef..8474192ca23 100644
--- a/source/blender/editors/space_node/drawnode.cc
+++ b/source/blender/editors/space_node/drawnode.cc
@@ -2073,7 +2073,7 @@ void node_draw_link_bezier(const bContext &C,
copy_v2_v2(node_link_data.bezierPts[i], vec[i]);
}
for (int i = 0; i < 3; i++) {
- copy_v2_v2(node_link_data.colors[i], colors[i]);
+ copy_v4_v4(node_link_data.colors[i], colors[i]);
}
node_link_data.doArrow = drawarrow;
node_link_data.doMuted = drawmuted;
@@ -2086,7 +2086,7 @@ void node_draw_link_bezier(const bContext &C,
GPUBatch *batch = g_batch_link.batch_single;
GPUUniformBuf *ubo = GPU_uniformbuf_create_ex(
- sizeof(node_link_data), &node_link_data, __func__);
+ sizeof(NodeLinkData), &node_link_data, __func__);
GPU_batch_program_set_builtin(batch, GPU_SHADER_2D_NODELINK);
GPU_batch_uniformbuf_bind(batch, "node_link_data", ubo);
diff --git a/source/blender/gpu/GPU_shader_shared.h b/source/blender/gpu/GPU_shader_shared.h
index f400e151487..334b974acd8 100644
--- a/source/blender/gpu/GPU_shader_shared.h
+++ b/source/blender/gpu/GPU_shader_shared.h
@@ -34,7 +34,9 @@ using blender::float4x4;
struct NodeLinkData {
float4 colors[3];
- float2 bezierPts[4];
+ /* bezierPts Is actually a float2, but due to std140 each element needs to be aligned to 16
+ * bytes. */
+ float4 bezierPts[4];
bool1 doArrow;
bool1 doMuted;
float dim_factor;
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_nodelink_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_nodelink_vert.glsl
index 3d3a042de65..b83ea59a692 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_nodelink_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_nodelink_vert.glsl
@@ -64,10 +64,10 @@ flat out int isMainLine;
# define doMuted (domuted[0] != 0)
#else
-# define P0 node_link_data.bezierPts[0]
-# define P1 node_link_data.bezierPts[1]
-# define P2 node_link_data.bezierPts[2]
-# define P3 node_link_data.bezierPts[3]
+# define P0 node_link_data.bezierPts[0].xy
+# define P1 node_link_data.bezierPts[1].xy
+# define P2 node_link_data.bezierPts[2].xy
+# define P3 node_link_data.bezierPts[3].xy
# define cols node_link_data.colors
# define doArrow node_link_data.doArrow
# define doMuted node_link_data.doMuted