// array size from initializer static float g_array [ ] = { 1, 2, 3, 4, 5 }; // Unused: array size from initializer static float g_array_unused [ ] = { 1, 2, 3, 4, 5, 6, 7 }; // Test initializer sizing for arrayed structs static struct mystruct { int i; float f; } g_mystruct[] = { { 1, 2.0 }, { 3, 4.0 }, }; struct PS_OUTPUT { float4 color : SV_Target0; }; // INVALID: implicit size requires an initializer expression. // uniform float bad[]; // INVALID: function parameters cannot be implicitly sized // void BadFunction(int a[]) { } void main(out PS_OUTPUT ps_output) { // local array sized from initializers float l_array[] = { 1, 2, 3 }; int idx; ps_output.color = g_array[0] + g_array[4] + l_array[1] + g_mystruct[0].f + g_array[idx]; }