@@ -419,11 +419,6 @@ main = do
419419
420420@compute @workgroup_size(4,4)
421421fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
422- // Guard against out-of-bounds work group sizes
423- if (global_id.x >= 4u || global_id.y >= 4u) {
424- return;
425- }
426-
427422 resultMatrix[global_id.x][global_id.y] = select(0.0, 1.0, global_id.x == global_id.y);
428423}"""
429424 }
@@ -437,6 +432,7 @@ fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
437432@compute @workgroup_size(4)
438433fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
439434 // Guard against out-of-bounds work group sizes
435+ // We use a power of 2 above but we only need 3
440436 if (global_id.x >= 3u) {
441437 return;
442438 }
@@ -460,10 +456,6 @@ fn xyt2trig(x: u32, y: u32, time: f32) -> f32 {
460456
461457@compute @workgroup_size(2,2)
462458fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
463- // Guard against out-of-bounds work group sizes
464- if (global_id.x >= 2u || global_id.y >= 2u) {
465- return;
466- }
467459 resultMatrix[global_id.x][global_id.y] = xyt2trig(global_id.x, global_id.y, time);
468460}"""
469461 }
@@ -482,10 +474,6 @@ fn xyt2trig(x: u32, y: u32, time: f32) -> f32 {
482474
483475@compute @workgroup_size(2,2)
484476fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
485- // Guard against out-of-bounds work group sizes
486- if (global_id.x >= 2u || global_id.y >= 2u) {
487- return;
488- }
489477 resultMatrix[global_id.x * 2][global_id.y * 2] = xyt2trig(global_id.x, global_id.y, time);
490478}"""
491479 }
@@ -521,10 +509,6 @@ fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
521509@group(0) @binding(2) var<storage, read_write> resultMatrix : mat4x4<f32>;
522510@compute @workgroup_size(4,4)
523511fn main(@builtin(global_invocation_id) global_id : vec3<u32>) {
524- // Guard against out-of-bounds work group sizes
525- if (global_id.x >= 4u || global_id.y >= 4u) {
526- return;
527- }
528512 var result = 0.0;
529513 for (var i = 0u; i < 4u; i = i + 1u) {
530514 result = result + (matrixL[i][global_id.y] * matrixR[global_id.x][i]);
0 commit comments