| #include <metal_stdlib> |
| using namespace metal; |
| |
| struct tint_module_vars_struct { |
| array<texture2d<float, access::sample>, 4> sampled_textures; |
| }; |
| |
| void do_texture_load(texture2d<float, access::sample> t) { |
| uint const v = min(uint(0), (t.get_num_mip_levels() - 1u)); |
| uint2 const v_1 = (uint2(t.get_width(v), t.get_height(v)) - uint2(1u)); |
| float4 const texture_load = t.read(min(uint2(int2(0)), v_1), v); |
| } |
| |
| fragment void fs(array<texture2d<float, access::sample>, 4> sampled_textures [[texture(0)]]) { |
| tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sampled_textures=sampled_textures}; |
| do_texture_load(tint_module_vars.sampled_textures[0]); |
| } |