blob: b1edc576c7891f4a58b7bd1af1bb8597d59a558a [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
const constant uint* level;
const constant uint2* coords;
depth2d<float, access::sample> tex;
};
kernel void compute_main(const constant uint* level [[buffer(1)]], const constant uint2* coords [[buffer(0)]], depth2d<float, access::sample> tex [[texture(0)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.level=level, .coords=coords, .tex=tex};
uint2 const v = (*tint_module_vars.coords);
uint const v_1 = (*tint_module_vars.level);
uint const v_2 = min(v_1, (tint_module_vars.tex.get_num_mip_levels() - 1u));
uint const v_3 = tint_module_vars.tex.get_width(v_2);
float res = tint_module_vars.tex.read(min(v, (uint2(v_3, tint_module_vars.tex.get_height(v_2)) - uint2(1u))), v_2);
}