You got it to work with SDL?
That's awesome!
Nice picture!!!
It's obviously missing the cube. Unfortunately I can't ask you for the Graphics Debugger capture because even then I won't be able to run it (mmm... I wonder? Maybe I can?).
I suspect something wrong with the drawId buffer binding, or with matrix buffer.
I'll ask you to try the following:
Find Samples/Media/Hlms/Pbs/Metal/VertexShader_vs.metal; line 28:
Change ushort for uint. You may have perform a cast a little downwards:
Code: Select all
ushort drawId = (ushort)input.drawId;
Honestly I don't think that will fix it, but it's worth a try.
Second:
Go to RenderSystems/Metal/src/Vao/OgreMetalVaoManager.mm line 114:
Code: Select all
//Keep pools of 128MB for static buffers
mDefaultPoolSize[CPU_INACCESSIBLE] = 128 * 1024 * 1024;
//Keep pools of 32MB each for dynamic buffers
for( size_t i=CPU_ACCESSIBLE_DEFAULT; i<=CPU_ACCESSIBLE_PERSISTENT_COHERENT; ++i )
mDefaultPoolSize[i] = 32 * 1024 * 1024;
Change them for:
Code: Select all
//Keep pools of 128MB for static buffers
mDefaultPoolSize[CPU_INACCESSIBLE] = 32;
//Keep pools of 32MB each for dynamic buffers
for( size_t i=CPU_ACCESSIBLE_DEFAULT; i<=CPU_ACCESSIBLE_PERSISTENT_COHERENT; ++i )
mDefaultPoolSize[i] = 32;
Then take a GPU Debugger Capture; export it to a file and send it to me via PM. Maybe it works on my machine and I can see what's going on. (this change won't fix anything, it just makes it easier to debug)