blob: 00000e97cdfb042d5da726163086ef31ca7cd39e [file] [log] [blame]
void set_float2(inout float2 vec, int idx, float val) {
vec = (idx.xx == int2(0, 1)) ? val.xx : vec;
}
void set_int3(inout int3 vec, int idx, int val) {
vec = (idx.xxx == int3(0, 1, 2)) ? val.xxx : vec;
}
void set_uint4(inout uint4 vec, int idx, uint val) {
vec = (idx.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : vec;
}
void set_bool2(inout bool2 vec, int idx, bool val) {
vec = (idx.xx == int2(0, 1)) ? val.xx : vec;
}
static float2 v2f = float2(0.0f, 0.0f);
static int3 v3i = int3(0, 0, 0);
static uint4 v4u = uint4(0u, 0u, 0u, 0u);
static bool2 v2b = bool2(false, false);
void foo() {
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
set_float2(v2f, i, 1.0f);
set_int3(v3i, i, 1);
set_uint4(v4u, i, 1u);
set_bool2(v2b, i, true);
}
}
}
[numthreads(1, 1, 1)]
void main() {
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
foo();
}
}
return;
}