Incanti. A tu paskaties, kā tas nokompilējas asemblerā - droši vien tām videokartēm priekš lūpošanās ir specifiski reģistri un instrukcijas, kam varētu būt savi ierobežojumi.
Atradu gūglē:
"LOOP/ENDLOOP and REP/ENDREP blocks involve a loop counter that indicates
the number of times the instructions between the LOOP/REP and
ENDLOOP/ENDREP are executed. Looping blocks have a number of significant
imitations. First, the loop counter can not be computed at run time; it
must be specified as a program parameter. Second, the number of loop
iterations is limited to the value MAX_PROGRAM_LOOP_COUNT_NV, which must
be at least 255. Third, only a limited amount of nesting is supported --
a fragment program will fail to load if a LOOP or REP instruction is
nested inside MAX_PROGRAM_LOOP_DEPTH_NV or more LOOP/ENDLOOP or REP/ENDREP
blocks."