From d61db84153ed4fcb43ce287a0daa795c6678187b Mon Sep 17 00:00:00 2001 From: Aras Pranckevicius Date: Fri, 14 Jun 2024 11:19:43 +0200 Subject: [PATCH 1/4] Fix #123136: Very narrow VSE strips flicker when zoomed out Make sure they are at least 1px wide when evaluating the rounded rectangle SDF. Pull Request: https://projects.blender.org/blender/blender/pulls/123221 --- .../blender/gpu/shaders/gpu_shader_sequencer_strips_frag.glsl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/blender/gpu/shaders/gpu_shader_sequencer_strips_frag.glsl b/source/blender/gpu/shaders/gpu_shader_sequencer_strips_frag.glsl index b30f4ecebc6..ba184690eaf 100644 --- a/source/blender/gpu/shaders/gpu_shader_sequencer_strips_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_sequencer_strips_frag.glsl @@ -50,6 +50,8 @@ void main() vec2 pos1 = round(vec2(strip.left_handle, strip.bottom) * view_to_pixel); vec2 pos2 = round(vec2(strip.right_handle, strip.top) * view_to_pixel); pos2.x -= 1.0; + /* Make sure strip is at least 1px wide. */ + pos2.x = max(pos2.x, pos1.x + 1.0); vec2 size = (pos2 - pos1) * 0.5; vec2 center = (pos1 + pos2) * 0.5; vec2 pos = round(co * view_to_pixel); From d088c3dfe53491a2e997962f743016c170de3d47 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 14 Jun 2024 11:22:27 +0200 Subject: [PATCH 2/4] Fix #123098: rotation attribute in baked data not loaded correctly --- source/blender/blenkernel/intern/bake_items_serialize.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/blender/blenkernel/intern/bake_items_serialize.cc b/source/blender/blenkernel/intern/bake_items_serialize.cc index 1eb599cc344..6d7a19b01ad 100644 --- a/source/blender/blenkernel/intern/bake_items_serialize.cc +++ b/source/blender/blenkernel/intern/bake_items_serialize.cc @@ -390,6 +390,10 @@ static std::shared_ptr write_blob_simple_gspan(BlobWriter &blob return read_blob_raw_data_with_endian( blob_reader, io_data, sizeof(float), r_data.size() * 4, r_data.data()); } + if (type.is()) { + return read_blob_raw_data_with_endian( + blob_reader, io_data, sizeof(float), r_data.size() * 4, r_data.data()); + } return false; } From 8ee231b6f6ac4f5addb4085f6ad571e9ebc915a8 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 14 Jun 2024 11:27:28 +0200 Subject: [PATCH 3/4] Fix: crash when interpolating subframes of baked caches `get_simulation_item_cpp_type` returns `SocketValueVariant` for these types nowdays, which is not what we want here. --- source/blender/nodes/geometry/nodes/node_geo_simulation.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/nodes/geometry/nodes/node_geo_simulation.cc b/source/blender/nodes/geometry/nodes/node_geo_simulation.cc index 67da84ff592..5a2bc9bbd99 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_simulation.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_simulation.cc @@ -1110,7 +1110,7 @@ void mix_baked_data_item(const eNodeSocketDatatype socket_type, case SOCK_ROTATION: case SOCK_RGBA: case SOCK_MATRIX: { - const CPPType &type = node_geo_simulation_cc::get_simulation_item_cpp_type(socket_type); + const CPPType &type = *bke::socket_type_to_geo_nodes_base_cpp_type(socket_type); SocketValueVariant prev_value_variant = *static_cast(prev); SocketValueVariant next_value_variant = *static_cast(next); if (prev_value_variant.is_context_dependent_field() || From 086f6f07d91cb23a91008f1f6dacafba0e6136f5 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 14 Jun 2024 11:33:29 +0200 Subject: [PATCH 4/4] Fix #122960: multiple geometry outputs connect to single input on viewer --- source/blender/nodes/geometry/nodes/node_geo_viewer.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/nodes/geometry/nodes/node_geo_viewer.cc b/source/blender/nodes/geometry/nodes/node_geo_viewer.cc index 90121cb6f62..bcaa3fe09a7 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_viewer.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_viewer.cc @@ -96,6 +96,7 @@ static void node_gather_link_searches(GatherLinkSearchOpParams ¶ms) socket, &node, static_cast(node.inputs.first)); + break; } }