1 2// array size from initializer 3static float g_array [ ] = { 1, 2, 3, 4, 5 }; 4 5// Unused: array size from initializer 6static float g_array_unused [ ] = { 1, 2, 3, 4, 5, 6, 7 }; 7 8// Test initializer sizing for arrayed structs 9static struct mystruct { 10 int i; 11 float f; 12} g_mystruct[] = { 13 { 1, 2.0 }, 14 { 3, 4.0 }, 15}; 16 17struct PS_OUTPUT { float4 color : SV_Target0; }; 18 19// INVALID: implicit size requires an initializer expression. 20// uniform float bad[]; 21 22// INVALID: function parameters cannot be implicitly sized 23// void BadFunction(int a[]) { } 24 25void main(out PS_OUTPUT ps_output) 26{ 27 // local array sized from initializers 28 float l_array[] = { 1, 2, 3 }; 29 int idx; 30 31 ps_output.color = g_array[0] + g_array[4] + l_array[1] + g_mystruct[0].f + g_array[idx]; 32} 33