Fix more brokenness.

This commit is contained in:
Chip Davis 2019-02-25 14:23:45 -06:00
parent 1069786f25
commit d7e0167b43

View File

@ -208,8 +208,9 @@ kernel void cmdDrawIndirectConvertBuffers(const device char* srcBuff [[buffer(0)
kernel void cmdDrawIndexedIndirectConvertBuffers(const device char* srcBuff [[buffer(0)]], \n\ kernel void cmdDrawIndexedIndirectConvertBuffers(const device char* srcBuff [[buffer(0)]], \n\
device char* destBuff [[buffer(1)]], \n\ device char* destBuff [[buffer(1)]], \n\
constant uint32_t& srcStride [[buffer(2)]], \n\ constant uint32_t& srcStride [[buffer(2)]], \n\
constant uint32_t& controlPointCount [[buffer(3)]], \n\ constant uint32_t& inControlPointCount [[buffer(3)]], \n\
constant uint32_t& drawCount [[buffer(4)]], \n\ constant uint32_t& outControlPointCount [[buffer(4)]], \n\
constant uint32_t& drawCount [[buffer(5)]], \n\
uint idx [[thread_position_in_grid]]) { \n\ uint idx [[thread_position_in_grid]]) { \n\
if (idx >= drawCount) { return; } \n\ if (idx >= drawCount) { return; } \n\
const device auto& src = *reinterpret_cast<const device MTLDrawIndexedPrimitivesIndirectArguments*>(srcBuff + idx * srcStride);\n\ const device auto& src = *reinterpret_cast<const device MTLDrawIndexedPrimitivesIndirectArguments*>(srcBuff + idx * srcStride);\n\
@ -220,7 +221,7 @@ kernel void cmdDrawIndexedIndirectConvertBuffers(const device char* srcBuff [[bu
#endif \n\ #endif \n\
device auto& destTC = *(device MTLDispatchThreadgroupsIndirectArguments*)dest; \n\ device auto& destTC = *(device MTLDispatchThreadgroupsIndirectArguments*)dest; \n\
device auto& destTE = *(device MTLDrawPatchIndirectArguments*)(dest + sizeof(MTLDispatchThreadgroupsIndirectArguments));\n\ device auto& destTE = *(device MTLDrawPatchIndirectArguments*)(dest + sizeof(MTLDispatchThreadgroupsIndirectArguments));\n\
destTC.threadgroupsPerGrid[0] = (src.indexCount * src.instanceCount + controlPointCount - 1) / controlPointCount;\n\ destTC.threadgroupsPerGrid[0] = (src.indexCount * src.instanceCount + inControlPointCount - 1) / inControlPointCount;\n\
destTC.threadgroupsPerGrid[1] = destTC.threadgroupsPerGrid[2] = 1; \n\ destTC.threadgroupsPerGrid[1] = destTC.threadgroupsPerGrid[2] = 1; \n\
destTE.patchCount = destTC.threadgroupsPerGrid[0]; \n\ destTE.patchCount = destTC.threadgroupsPerGrid[0]; \n\
destTE.instanceCount = 1; \n\ destTE.instanceCount = 1; \n\