summaryrefslogtreecommitdiff
path: root/rust/crates/masks/src/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'rust/crates/masks/src/shaders')
-rw-r--r--rust/crates/masks/src/shaders/jfa_init.wgsl5
-rw-r--r--rust/crates/masks/src/shaders/jfa_step.wgsl2
2 files changed, 5 insertions, 2 deletions
diff --git a/rust/crates/masks/src/shaders/jfa_init.wgsl b/rust/crates/masks/src/shaders/jfa_init.wgsl
index 29aa38c7..e224db3d 100644
--- a/rust/crates/masks/src/shaders/jfa_init.wgsl
+++ b/rust/crates/masks/src/shaders/jfa_init.wgsl
@@ -24,7 +24,10 @@ fn encode_seed(seed: vec2f) -> vec4f {
@fragment
fn fragment_main(input: VertexOutput) -> @location(0) vec4f {
let mask = textureSample(input_texture, input_sampler, input.tex_coord).r;
- let is_seed = select(mask > 0.5, mask < 0.5, uniforms.invert > 0.5);
+ let above = mask > 0.5;
+ let below = mask < 0.5;
+ let inverted = uniforms.invert > 0.5;
+ let is_seed = select(above, below, inverted);
if (is_seed) {
let pixel_coord = floor(input.tex_coord * uniforms.resolution);
diff --git a/rust/crates/masks/src/shaders/jfa_step.wgsl b/rust/crates/masks/src/shaders/jfa_step.wgsl
index e20d7fb0..bf348217 100644
--- a/rust/crates/masks/src/shaders/jfa_step.wgsl
+++ b/rust/crates/masks/src/shaders/jfa_step.wgsl
@@ -53,7 +53,7 @@ fn fragment_main(input: VertexOutput) -> @location(0) vec4f {
continue;
}
- let encoded = textureSample(input_texture, input_sampler, sample_uv);
+ let encoded = textureSampleLevel(input_texture, input_sampler, sample_uv, 0.0);
if (is_no_seed(encoded)) {
continue;
}