Hi,
After checking OpenCL specification (Section 6) for me it is still unclear
whether you have to provide explicit vector alignment for structs initialization.
OpenCL example on different platforms (Intel, NVidia, AMD):
typedef struct
{
float4 f;
float2 g;
float4 h;
} A;
__constant A a = {0,1,2,3,4,5,6,7,8,9}; // Will compiles fine on Intel and NVidia. FAIL on AMD!!!
__constant A a = {{0,1,2,3},{4,5},{6,7,8,9}}; // Will compiles fine on Intel, NVidia and AMD.
Could you provide some explanation how you would prefer to see it according to the standard?
Thanks,
-Denis



