1*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, derivative_uniformity); 2*c8dee2aaSAndroid Build Coastguard Workerdiagnostic(off, chromium.unreachable_code); 3*c8dee2aaSAndroid Build Coastguard Worker@group(1) @binding(0) var texRGBA: texture_storage_2d<rgba8unorm, write>; 4*c8dee2aaSAndroid Build Coastguard Worker@group(1) @binding(1) var texRed: texture_2d<f32>; 5*c8dee2aaSAndroid Build Coastguard Workerfn fill_texture_vTT(passedInTexRGBA: texture_storage_2d<rgba8unorm, write>, passedInTexRed: texture_2d<f32>) { 6*c8dee2aaSAndroid Build Coastguard Worker { 7*c8dee2aaSAndroid Build Coastguard Worker let _skTemp0 = vec2<u32>(0u); 8*c8dee2aaSAndroid Build Coastguard Worker let red: vec4<f32> = textureLoad(passedInTexRed, _skTemp0, 0); 9*c8dee2aaSAndroid Build Coastguard Worker let _skTemp1 = textureDimensions(passedInTexRGBA); 10*c8dee2aaSAndroid Build Coastguard Worker let sizeX: u32 = _skTemp1.x; 11*c8dee2aaSAndroid Build Coastguard Worker let _skTemp2 = textureDimensions(passedInTexRGBA); 12*c8dee2aaSAndroid Build Coastguard Worker let sizeY: u32 = _skTemp2.y; 13*c8dee2aaSAndroid Build Coastguard Worker var coords: vec2<u32>; 14*c8dee2aaSAndroid Build Coastguard Worker { 15*c8dee2aaSAndroid Build Coastguard Worker coords.y = 0u; 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker loop { 18*c8dee2aaSAndroid Build Coastguard Worker if coords.y < sizeY { 19*c8dee2aaSAndroid Build Coastguard Worker { 20*c8dee2aaSAndroid Build Coastguard Worker { 21*c8dee2aaSAndroid Build Coastguard Worker coords.x = 0u; 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker loop { 24*c8dee2aaSAndroid Build Coastguard Worker if coords.x < sizeX { 25*c8dee2aaSAndroid Build Coastguard Worker { 26*c8dee2aaSAndroid Build Coastguard Worker textureStore(passedInTexRGBA, coords, red); 27*c8dee2aaSAndroid Build Coastguard Worker } 28*c8dee2aaSAndroid Build Coastguard Worker } else { 29*c8dee2aaSAndroid Build Coastguard Worker break; 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker continuing { 32*c8dee2aaSAndroid Build Coastguard Worker coords.x = coords.x + u32(1); 33*c8dee2aaSAndroid Build Coastguard Worker } 34*c8dee2aaSAndroid Build Coastguard Worker } 35*c8dee2aaSAndroid Build Coastguard Worker } 36*c8dee2aaSAndroid Build Coastguard Worker } 37*c8dee2aaSAndroid Build Coastguard Worker } else { 38*c8dee2aaSAndroid Build Coastguard Worker break; 39*c8dee2aaSAndroid Build Coastguard Worker } 40*c8dee2aaSAndroid Build Coastguard Worker continuing { 41*c8dee2aaSAndroid Build Coastguard Worker coords.y = coords.y + u32(1); 42*c8dee2aaSAndroid Build Coastguard Worker } 43*c8dee2aaSAndroid Build Coastguard Worker } 44*c8dee2aaSAndroid Build Coastguard Worker } 45*c8dee2aaSAndroid Build Coastguard Worker } 46*c8dee2aaSAndroid Build Coastguard Worker} 47*c8dee2aaSAndroid Build Coastguard Workerfn _skslMain() { 48*c8dee2aaSAndroid Build Coastguard Worker { 49*c8dee2aaSAndroid Build Coastguard Worker fill_texture_vTT(texRGBA, texRed); 50*c8dee2aaSAndroid Build Coastguard Worker } 51*c8dee2aaSAndroid Build Coastguard Worker} 52*c8dee2aaSAndroid Build Coastguard Worker@compute @workgroup_size(1, 1, 1) fn main() { 53*c8dee2aaSAndroid Build Coastguard Worker _skslMain(); 54*c8dee2aaSAndroid Build Coastguard Worker} 55