RWByteAddressBuffer s : register(u0); | |
float f1(float a[4]) { | |
return a[3]; | |
} | |
float f2(float a[3][4]) { | |
return a[2][3]; | |
} | |
float f3(float a[2][3][4]) { | |
return a[1][2][3]; | |
} | |
[numthreads(1, 1, 1)] | |
void main() { | |
const float a1[4] = (float[4])0; | |
const float a2[3][4] = (float[3][4])0; | |
const float a3[2][3][4] = (float[2][3][4])0; | |
const float v1 = f1(a1); | |
const float v2 = f2(a2); | |
const float v3 = f3(a3); | |
s.Store(0u, asuint(((v1 + v2) + v3))); | |
return; | |
} |