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