diff --git a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.glsl b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.glsl index 103f3cfdd76..8a845b6a8a6 100644 --- a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.glsl +++ b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.glsl @@ -41,7 +41,7 @@ void main() { div_by_x % out_limits.y, div_by_x / out_limits.y); - if (any(greaterThanEqual(pos, out_limits))) { + if (pos.z >= out_limits.z) { return; } diff --git a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.glsl b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.glsl index 9e69fdd1fe7..c05c7e4450d 100644 --- a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.glsl +++ b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.glsl @@ -59,7 +59,7 @@ void main() { pos.y *= BATCH_SIZE_Y; // do not process if top pixel does not fit within the output range - if (any(greaterThanEqual(pos, out_limits))) { + if (pos.z >= out_limits.z) { return; } diff --git a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.glsl b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.glsl index d0fc6707bff..bb70ee1aabb 100644 --- a/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.glsl +++ b/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.glsl @@ -44,7 +44,7 @@ void main() { div_by_x % out_limits.y, div_by_x / out_limits.y); - if (any(greaterThanEqual(pos, out_limits))) { + if (pos.z >= out_limits.z) { return; } diff --git a/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.glsl b/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.glsl index 0413eb7b7aa..051d9d69837 100644 --- a/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.glsl +++ b/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.glsl @@ -79,7 +79,7 @@ void main() { // If the top left position is out of bounds, then this invocation will have // no work to do. - if (any(greaterThanEqual(ivec3(pos[0], gpos.z), out_limits.xyz))) { + if (gpos.z >= out_limits.z) { return; }