Имам константа в горната част на моя код...
__constant uint uintmaxx = (uint)( (((ulong)1)<<32) - 1 );
Той се компилира добре на AMD и NVIDIA OpenCL компилатори... след това се изпълнява.
(правилно) на ATI карти, връща... 4294967295 или (всички 32 бита = 1)
(грешно) на NVIDIA карти, връща... 2147483648 или (само 32-ри бит = 1)
Опитах също -1 + 1‹‹32 и работи на ATI, но не и на NVIDIA.
Какво дава? Просто пропускам нещо?
Докато съм на темата за разликите в компилатора на OpenCL, някой знае ли добър ресурс, който изброява разликите в компилатора между AMD и NVIDIA?