From ab01f7254b6e5741b2ddb73e6ebd7afb637acbfd Mon Sep 17 00:00:00 2001 From: Christoph Neuhauser Date: Thu, 9 Oct 2025 09:18:25 +0200 Subject: [PATCH 1/3] Fix: GPU: Remove selectable variants for invalid overlay edit shaders The Intel Windows driver generates an error when linking a vertex shader and fragment shader where the vertex shader does not write to an output used as an active input in the fragment shader. This PR fixes failing "gpu" tests by removing the selectable shader variants for overlay_edit_pointcloud, overlay_edit_lattice_wire and overlay_edit_lattice_point. Pull Request: https://projects.blender.org/blender/blender/pulls/147650 --- .../shaders/infos/overlay_edit_mode_infos.hh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh b/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh index 7fa8f96753e..e898047c607 100644 --- a/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh +++ b/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh @@ -636,7 +636,7 @@ OVERLAY_INFO_CLIP_VARIATION(overlay_edit_curves_point) /** \name Edit Lattice * \{ */ -GPU_SHADER_CREATE_INFO(overlay_edit_lattice_point_base) +GPU_SHADER_CREATE_INFO(overlay_edit_lattice_point) VERTEX_IN(0, float3, pos) VERTEX_IN(1, uint, data) VERTEX_OUT(overlay_edit_flat_color_iface) @@ -647,11 +647,12 @@ VERTEX_SOURCE("overlay_edit_lattice_point_vert.glsl") FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) +ADDITIONAL_INFO(draw_modelmat) GPU_SHADER_CREATE_END() -OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_edit_lattice_point, overlay_edit_lattice_point_base) +OVERLAY_INFO_CLIP_VARIATION(overlay_edit_lattice_point) -GPU_SHADER_CREATE_INFO(overlay_edit_lattice_wire_base) +GPU_SHADER_CREATE_INFO(overlay_edit_lattice_wire) VERTEX_IN(0, float3, pos) VERTEX_IN(1, float, weight) SAMPLER(0, sampler1D, weight_tx) @@ -663,9 +664,10 @@ VERTEX_SOURCE("overlay_edit_lattice_wire_vert.glsl") FRAGMENT_SOURCE("overlay_varying_color.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) +ADDITIONAL_INFO(draw_modelmat) GPU_SHADER_CREATE_END() -OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_edit_lattice_wire, overlay_edit_lattice_wire_base) +OVERLAY_INFO_CLIP_VARIATION(overlay_edit_lattice_wire) /** \} */ @@ -725,7 +727,7 @@ OVERLAY_INFO_CLIP_VARIATION(overlay_edit_particle_point) /** \name Edit PointCloud * \{ */ -GPU_SHADER_CREATE_INFO(overlay_edit_pointcloud_base) +GPU_SHADER_CREATE_INFO(overlay_edit_pointcloud) VERTEX_IN(0, float4, pos_rad) VERTEX_OUT(overlay_edit_flat_color_iface) DEFINE("LINE_OUTPUT") @@ -735,9 +737,10 @@ VERTEX_SOURCE("overlay_edit_pointcloud_vert.glsl") FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) +ADDITIONAL_INFO(draw_modelmat) GPU_SHADER_CREATE_END() -OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_edit_pointcloud, overlay_edit_pointcloud_base) +OVERLAY_INFO_CLIP_VARIATION(overlay_edit_pointcloud) /** \} */ From 02e873537b4feb802011232d8998c09ef21051f4 Mon Sep 17 00:00:00 2001 From: Christoph Neuhauser Date: Thu, 9 Oct 2025 10:36:34 +0200 Subject: [PATCH 2/3] Fix: GPU: Add DO_STATIC_COMPILATION() to overlay edit shaders This PR fixes an assert by adding DO_STATIC_COMPILATION() to overlay_edit_pointcloud, overlay_edit_lattice_wire and overlay_edit_lattice_point. Fixes issue introduced by: https://projects.blender.org/blender/blender/pulls/147650 Pull Request: https://projects.blender.org/blender/blender/pulls/147682 --- .../engines/overlay/shaders/infos/overlay_edit_mode_infos.hh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh b/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh index e898047c607..29bdac169c7 100644 --- a/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh +++ b/source/blender/draw/engines/overlay/shaders/infos/overlay_edit_mode_infos.hh @@ -648,6 +648,7 @@ FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) ADDITIONAL_INFO(draw_modelmat) +DO_STATIC_COMPILATION() GPU_SHADER_CREATE_END() OVERLAY_INFO_CLIP_VARIATION(overlay_edit_lattice_point) @@ -665,6 +666,7 @@ FRAGMENT_SOURCE("overlay_varying_color.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) ADDITIONAL_INFO(draw_modelmat) +DO_STATIC_COMPILATION() GPU_SHADER_CREATE_END() OVERLAY_INFO_CLIP_VARIATION(overlay_edit_lattice_wire) @@ -738,6 +740,7 @@ FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl") ADDITIONAL_INFO(draw_view) ADDITIONAL_INFO(draw_globals) ADDITIONAL_INFO(draw_modelmat) +DO_STATIC_COMPILATION() GPU_SHADER_CREATE_END() OVERLAY_INFO_CLIP_VARIATION(overlay_edit_pointcloud) From 227ce1711a56f4df93021949e531e16e25fff843 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Thu, 9 Oct 2025 10:42:22 +0200 Subject: [PATCH 3/3] Cleanup: Remove unused color balance modifier draw function Sequencer modifiers are no longer drawn from Python since 866fcd0a09. The function `draw_color_balance` that draws the Color Balance modifier is no longer called anywhere, so it can be removed. Pull Request: https://projects.blender.org/blender/blender/pulls/147571 --- scripts/startup/bl_ui/space_sequencer.py | 82 ------------------------ 1 file changed, 82 deletions(-) diff --git a/scripts/startup/bl_ui/space_sequencer.py b/scripts/startup/bl_ui/space_sequencer.py index 33a723cd406..469ccd30895 100644 --- a/scripts/startup/bl_ui/space_sequencer.py +++ b/scripts/startup/bl_ui/space_sequencer.py @@ -43,88 +43,6 @@ def selected_strips_count(context): return total_count, nonsound_count -def draw_color_balance(layout, color_balance): - - layout.prop(color_balance, "correction_method") - - flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=False) - flow.use_property_split = False - - if color_balance.correction_method == 'LIFT_GAMMA_GAIN': - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Lift") - col.separator() - col.separator() - col.prop(color_balance, "lift", text="") - col.prop(color_balance, "invert_lift", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "lift", value_slider=True, cubic=True) - - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Gamma") - col.separator() - col.separator() - col.prop(color_balance, "gamma", text="") - col.prop(color_balance, "invert_gamma", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "gamma", value_slider=True, lock_luminosity=True, cubic=True) - - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Gain") - col.separator() - col.separator() - col.prop(color_balance, "gain", text="") - col.prop(color_balance, "invert_gain", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "gain", value_slider=True, lock_luminosity=True, cubic=True) - - elif color_balance.correction_method == 'OFFSET_POWER_SLOPE': - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Offset") - col.separator() - col.separator() - col.prop(color_balance, "offset", text="") - col.prop(color_balance, "invert_offset", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "offset", value_slider=True, cubic=True) - - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Power", text_ctxt=i18n_contexts.id_movieclip) - col.separator() - col.separator() - col.prop(color_balance, "power", text="") - col.prop(color_balance, "invert_power", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "power", value_slider=True, cubic=True) - - col = flow.column() - - box = col.box() - split = box.split(factor=0.35) - col = split.column(align=True) - col.label(text="Slope") - col.separator() - col.separator() - col.prop(color_balance, "slope", text="") - col.prop(color_balance, "invert_slope", text="Invert", icon='ARROW_LEFTRIGHT') - split.template_color_picker(color_balance, "slope", value_slider=True, cubic=True) - - class SEQUENCER_PT_active_tool(ToolActivePanelHelper, Panel): bl_space_type = 'SEQUENCE_EDITOR' bl_region_type = 'UI'