Update sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl
Co-authored-by: Alex Gemberg <gemberg@canva.com>
diff --git a/sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl b/sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl
index 4b87bbe..30f558f 100644
--- a/sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl
+++ b/sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl
@@ -462,17 +462,17 @@
// For radial gradient, calculate distance from center
let gradient_result = calculate_radial_gradient(grad_pos, radial_gradient);
- if gradient_result.is_valid {
- let gradient_color = sample_gradient_lut(
- gradient_result.t_value,
- radial_gradient.extend_mode,
- radial_gradient.gradient_start,
- radial_gradient.texture_width
- );
- final_color = alpha * gradient_color;
- } else {
- final_color = vec4<f32>(0.0, 0.0, 0.0, 0.0);
- }
+ let gradient_color = sample_gradient_lut(
+ gradient_result.t_value,
+ radial_gradient.extend_mode,
+ radial_gradient.gradient_start,
+ radial_gradient.texture_width
+ );
+ final_color = select(
+ vec4<f32>(0.0, 0.0, 0.0, 0.0),
+ alpha * gradient_color,
+ gradient_result.is_valid
+ );
} else if paint_type == PAINT_TYPE_SWEEP_GRADIENT {
let paint_tex_idx = in.paint_and_rect_flag & PAINT_TEXTURE_INDEX_MASK;
let sweep_gradient = unpack_sweep_gradient(paint_tex_idx);