blob: a8f7e21c9ca5bb059acb7b69ec5b14993dab08b8 [file]
#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
texture2d<float, access::sample> tex;
texture2d<float, access::read_write> store;
};
fragment void v(texture2d<float, access::sample> tex [[texture(0)]], texture2d<float, access::read_write> store [[texture(1)]]) {
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.tex=tex, .store=store};
uint const v_1 = min(uint(0), (tint_module_vars.tex.get_num_mip_levels() - 1u));
uint2 const v_2 = (uint2(tint_module_vars.tex.get_width(v_1), tint_module_vars.tex.get_height(v_1)) - uint2(1u));
float4 res = tint_module_vars.tex.read(min(uint2(int2(1)), v_2), v_1);
float4 const v_3 = res;
(const_cast<texture2d<float, access::read_write>thread &>(tint_module_vars.store).fence());
(tint_module_vars.store.write(v_3, uint2(int2(0))));
(const_cast<texture2d<float, access::read_write>thread &>(tint_module_vars.store).fence());
}