bug/fxc/gradient_in_varying_loop/1112.wgsl:23:33 warning: 'textureSample' must only be called from uniform control flow let sampleDepth : f32 = textureSample(depthTexture, Sampler, offset.xy).r; ^^^^^^^^^^^^^ bug/fxc/gradient_in_varying_loop/1112.wgsl:18:28 note: control flow depends on non-uniform value if (offset.x < 0.0 || offset.y < 0.0 || offset.x > 1.0 || offset.y > 1.0) { ^^ bug/fxc/gradient_in_varying_loop/1112.wgsl:8:29 note: return value of 'textureSample' may be non-uniform let random: vec3 = textureSample(randomTexture, Sampler, vUV).rgb; ^^^^^^^^^^^^^ #include using namespace metal; struct tint_symbol_2 { float2 vUV [[user(locn0)]]; }; struct tint_symbol_3 { float4 value [[color(0)]]; }; float4 tint_symbol_inner(float2 vUV, texture2d tint_symbol_4, sampler tint_symbol_5, texture2d tint_symbol_6) { float3 const random = float4(tint_symbol_4.sample(tint_symbol_5, vUV)).rgb; int i = 0; while (true) { if ((i < 1)) { } else { break; } float3 const offset = float3(random[0]); if (((((offset[0] < 0.0f) || (offset[1] < 0.0f)) || (offset[0] > 1.0f)) || (offset[1] > 1.0f))) { i = as_type((as_type(i) + as_type(1))); continue; } float const sampleDepth = tint_symbol_6.sample(tint_symbol_5, float3(offset).xy)[0]; i = as_type((as_type(i) + as_type(1))); } return float4(1.0f); } fragment tint_symbol_3 tint_symbol(texture2d tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]], texture2d tint_symbol_9 [[texture(1)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) { float4 const inner_result = tint_symbol_inner(tint_symbol_1.vUV, tint_symbol_7, tint_symbol_8, tint_symbol_9); tint_symbol_3 wrapper_result = {}; wrapper_result.value = inner_result; return wrapper_result; }