problem mixing pipelines with different number of vertex streams (OS X only)

I'm seeing a problem that seems to be caused by rendering two objects with different number of vertex streams in the same render pass, causing one of the objects to not draw. I have two meshes, one that has positions stored in one stream followed by all other attributes (normals and uvs) interleaved in another stream, and a second object with all three attributes interleaved in a single stream.


I create two render pipelines which, except for different vertex descriptors, are otherwise identical. The problem is that the 1-stream object doesn't draw, but if I just comment out the drawIndexedPrimitives call that draws the 2-stream object then it does. If I load a 1-stream version of the 2-stream object then both display. Also changing the shader for the 1-stream object (so that two pipelines are still used) also works fine.


When I do a frame capture I can see the missing object drawn in green wireframe at the end of the command buffer, but it never changes to the final rasterized version like the other object does.


It seems like it could be a bug since it happens on OS X only (10.11 GM seed), the same code on iOS draws both objects as expected. I've only tested this on Iris 6100 graphics (2015 13" rMBP) so far. I can supply a sample application if you think it would be worth taking a look. Otherwise can anyone think of anything that I might be doing wrong? I have the validation layer enabled and the output is all clean.


Thanks,


Evan

I justed tested on an iMac with GT 750M graphics and the problem does not occur, so it looks like Intel only.

I filed Radar 22677274 for this with a small test app (binary not source code unfortunately).

I'd like to add a screenshot showing what I'm seeing in the frame debugger, but every time I post a link on these forums the post gets stuck in 'moderation' for days. Is there a preferred way to share images/links here?

I was able to reproduce the problem in a simple stand-alone project based on the OS X 'Game' template in Xcode so I'm pretty confident this is not some bug in my original code or data. I've uploaded it to the bug report.

problem mixing pipelines with different number of vertex streams (OS X only)
 
 
Q