| // | 
 | // fragment_main | 
 | // | 
 | #include <metal_stdlib> | 
 |  | 
 | using namespace metal; | 
 | int3 tint_clamp(int3 e, int3 low, int3 high) { | 
 |   return min(max(e, low), high); | 
 | } | 
 |  | 
 | uint4 textureLoad_4c1a1e(texture3d<uint, access::read_write> tint_symbol) { | 
 |   uint4 res = tint_symbol.read(uint3(tint_clamp(int3(1), int3(0), int3((uint3(tint_symbol.get_width(), tint_symbol.get_height(), tint_symbol.get_depth()) - uint3(1u)))))); | 
 |   return res; | 
 | } | 
 |  | 
 | fragment void fragment_main(device uint4* tint_symbol_1 [[buffer(0)]], texture3d<uint, access::read_write> tint_symbol_2 [[texture(0)]]) { | 
 |   *(tint_symbol_1) = textureLoad_4c1a1e(tint_symbol_2); | 
 |   return; | 
 | } | 
 |  | 
 | // | 
 | // compute_main | 
 | // | 
 | #include <metal_stdlib> | 
 |  | 
 | using namespace metal; | 
 | int3 tint_clamp(int3 e, int3 low, int3 high) { | 
 |   return min(max(e, low), high); | 
 | } | 
 |  | 
 | uint4 textureLoad_4c1a1e(texture3d<uint, access::read_write> tint_symbol) { | 
 |   uint4 res = tint_symbol.read(uint3(tint_clamp(int3(1), int3(0), int3((uint3(tint_symbol.get_width(), tint_symbol.get_height(), tint_symbol.get_depth()) - uint3(1u)))))); | 
 |   return res; | 
 | } | 
 |  | 
 | kernel void compute_main(device uint4* tint_symbol_1 [[buffer(0)]], texture3d<uint, access::read_write> tint_symbol_2 [[texture(0)]]) { | 
 |   *(tint_symbol_1) = textureLoad_4c1a1e(tint_symbol_2); | 
 |   return; | 
 | } | 
 |  |