blob: 7efaf698de32e957a1db4d193408f121f7d575d0 [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
#define TINT_ISOLATE_UB(VOLATILE_NAME) \
volatile bool VOLATILE_NAME = true; \
if (VOLATILE_NAME)
struct tint_symbol_3 {
float2 vUV [[user(locn0)]];
};
struct tint_symbol_4 {
float4 value [[color(0)]];
};
float4 tint_symbol_inner(float2 vUV, texture2d<float, access::sample> tint_symbol_5, sampler tint_symbol_6) {
float4 const tint_symbol_1 = tint_symbol_5.sample(tint_symbol_6, vUV);
float3 const random = tint_symbol_1.rgb;
int i = 0;
TINT_ISOLATE_UB(tint_volatile_true) 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<int>((as_type<uint>(i) + as_type<uint>(1)));
continue;
}
float const sampleDepth = 0.0f;
i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)));
}
return float4(1.0f);
}
fragment tint_symbol_4 tint_symbol(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]], tint_symbol_3 tint_symbol_2 [[stage_in]]) {
float4 const inner_result = tint_symbol_inner(tint_symbol_2.vUV, tint_symbol_7, tint_symbol_8);
tint_symbol_4 wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}