#include <metal_stdlib> | |
using namespace metal; | |
struct tint_module_vars_struct { | |
texture2d<int, access::read_write> tex; | |
}; | |
#define TINT_ISOLATE_UB(VOLATILE_NAME) \ | |
{volatile bool VOLATILE_NAME = false; if (VOLATILE_NAME) break;} | |
void foo(tint_module_vars_struct tint_module_vars) { | |
{ | |
int i = 0; | |
while(true) { | |
TINT_ISOLATE_UB(tint_volatile_false) | |
if ((i < 3)) { | |
} else { | |
break; | |
} | |
{ | |
tint_module_vars.tex.write(int4(0), uint2(int2(0))); | |
const_cast<texture2d<int, access::read_write>thread &>(tint_module_vars.tex).fence(); | |
} | |
continue; | |
} | |
} | |
} |