| #include <metal_stdlib> |
| |
| using namespace metal; |
| int tint_clamp(int e, int low, int high) { |
| return min(max(e, low), high); |
| } |
| |
| uint4 textureLoad_e9eb65(texture2d_array<uint, access::read_write> tint_symbol) { |
| uint2 arg_1 = uint2(1u); |
| int arg_2 = 1; |
| uint4 res = tint_symbol.read(uint2(min(arg_1, (uint2(tint_symbol.get_width(), tint_symbol.get_height()) - uint2(1u)))), tint_clamp(arg_2, 0, int((tint_symbol.get_array_size() - 1u)))); |
| return res; |
| } |
| |
| fragment void fragment_main(device uint4* tint_symbol_1 [[buffer(0)]], texture2d_array<uint, access::read_write> tint_symbol_2 [[texture(0)]]) { |
| *(tint_symbol_1) = textureLoad_e9eb65(tint_symbol_2); |
| return; |
| } |
| |
| kernel void compute_main(device uint4* tint_symbol_3 [[buffer(0)]], texture2d_array<uint, access::read_write> tint_symbol_4 [[texture(0)]]) { |
| *(tint_symbol_3) = textureLoad_e9eb65(tint_symbol_4); |
| return; |
| } |
| |