| #include <metal_stdlib> |
| using namespace metal; |
| |
| struct tint_module_vars_struct { |
| texture2d<float, access::sample> tex; |
| sampler sam; |
| texture2d<float, access::read_write> store; |
| }; |
| |
| fragment void v(texture2d<float, access::sample> tex [[texture(0)]], sampler sam [[sampler(0)]], texture2d<float, access::read_write> store [[texture(1)]]) { |
| tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.tex=tex, .sam=sam, .store=store}; |
| float4 res = tint_module_vars.tex.sample(tint_module_vars.sam, float2(1.0f), level(0.0f), int2(1)); |
| float4 const v_1 = res; |
| (const_cast<texture2d<float, access::read_write>thread &>(tint_module_vars.store).fence()); |
| (tint_module_vars.store.write(v_1, uint2(int2(0)))); |
| (const_cast<texture2d<float, access::read_write>thread &>(tint_module_vars.store).fence()); |
| } |