#ifdef MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT @group(0) @binding(0) var meshlet_visibility_buffer: texture_storage_2d; #else @group(0) @binding(0) var meshlet_visibility_buffer: texture_storage_2d; #endif var view_size: vec2; @compute @workgroup_size(16, 16, 1) fn clear_visibility_buffer(@builtin(global_invocation_id) global_id: vec3) { if any(global_id.xy >= view_size) { return; } #ifdef MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT textureStore(meshlet_visibility_buffer, global_id.xy, vec4(0lu)); #else textureStore(meshlet_visibility_buffer, global_id.xy, vec4(0u)); #endif }