aboutsummaryrefslogtreecommitdiff
path: root/old/vgcodec/src/diff.wgsl
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
committermetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
commit306f96164784a8cbf405e72fa4364d6523366e95 (patch)
tree51717fc139871baa438aad806f4923669ae0896c /old/vgcodec/src/diff.wgsl
parent9cc089e2d6e841879e430b01d2f3d92c8820523e (diff)
downloadvideo-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.bz2
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.zst
old dir
Diffstat (limited to 'old/vgcodec/src/diff.wgsl')
-rw-r--r--old/vgcodec/src/diff.wgsl16
1 files changed, 16 insertions, 0 deletions
diff --git a/old/vgcodec/src/diff.wgsl b/old/vgcodec/src/diff.wgsl
new file mode 100644
index 0000000..82e169b
--- /dev/null
+++ b/old/vgcodec/src/diff.wgsl
@@ -0,0 +1,16 @@
+@group(0) @binding(0)
+var tex_a: texture_2d<f32>;
+@group(0) @binding(1)
+var tex_b: texture_2d<f32>;
+
+@group(0) @binding(2)
+var<storage, read_write> exp: atomic<u32>;
+
+@compute @workgroup_size(1)
+fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
+ var col_a = textureLoad(tex_a, vec2(i32(global_id.x), i32(global_id.y)), 0);
+ var col_b = textureLoad(tex_b, vec2(i32(global_id.x), i32(global_id.y)), 0);
+ var diff = length(col_a - col_b);
+ atomicAdd(&exp, u32(diff * 1000.0));
+}
+