I think I've found a bug in Apple's implementation of ABPvp1.0, or at
least the emulated version, but I'm not sure enough of the language
myself to know for sure. It seems that a destination mask is not
allowed when writing to result.texcoord (it does seem to be allowed
when using result.postion). So this doesn't move the texture coords at
all:
ATTRIB v24 = vertex.texcoord[0];
ATTRIB v25 = vertex.texcoord[1];
MOV result.texcoord[0].xy, v24;
MOV result.texcoord[1].xy, v25;
But this does:
ATTRIB v24 = vertex.texcoord[0];
ATTRIB v25 = vertex.texcoord[1];
MOV result.texcoord[0], v24;
MOV result.texcoord[1], v25;
The texture is only 2D in this case. No error is generated by
glProgramStringARB, and the program other wise executes OK. This has
got to be incorrect, right? Also, the Apple implementation does not
accept a source swizzle on the MOVs above, but this does case an
program string error. I'm testing this on 10.3.6.