I may be doing something silly, but on the iPad I noticed that all textures are stretched by a factor of 2/1024, which seems to indicate that there is an off-by-one bug somewhere in the rendering engine.
Repro:
1) Create a large texture (1024 x 768) on which it's easy to spot pixel stretching. I used a simple black grid on white background, one pixel thick, turned on 45 degree diagonal with no anti-aliasing so that the line appears jagged.
2) Load the texture as a sprite using the following code (note: this is in landscape):
CCScene* scene = [CCScene node];
CCSprite* background = [CCSprite spriteWithFile:@"DebugBackground.png"];
[background.texture setAliasTexParameters];
background.position = ccp(512, 384);
[scene addChild:background];
3) Run the code in either a simulator or on the device.
Actual:
You will notice two rows and two columns of pixels repeated, effectively stretching the texture by 2 pixels in either direction.
Expected:
The texture should appear as-is.
Now if you modify the code by adding the following line:
background.scale = (1024 - 2) / 1024.0f;
The background renders as expected. Is this a known issue? I will dig in to see if I can find the culprit, but if you have suggestions on where to look, it would simplify the process.