Fix more brokenness.
This commit is contained in:
parent
1069786f25
commit
d7e0167b43
@ -208,8 +208,9 @@ kernel void cmdDrawIndirectConvertBuffers(const device char* srcBuff [[buffer(0)
|
||||
kernel void cmdDrawIndexedIndirectConvertBuffers(const device char* srcBuff [[buffer(0)]], \n\
|
||||
device char* destBuff [[buffer(1)]], \n\
|
||||
constant uint32_t& srcStride [[buffer(2)]], \n\
|
||||
constant uint32_t& controlPointCount [[buffer(3)]], \n\
|
||||
constant uint32_t& drawCount [[buffer(4)]], \n\
|
||||
constant uint32_t& inControlPointCount [[buffer(3)]], \n\
|
||||
constant uint32_t& outControlPointCount [[buffer(4)]], \n\
|
||||
constant uint32_t& drawCount [[buffer(5)]], \n\
|
||||
uint idx [[thread_position_in_grid]]) { \n\
|
||||
if (idx >= drawCount) { return; } \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\
|
||||
device auto& destTC = *(device MTLDispatchThreadgroupsIndirectArguments*)dest; \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\
|
||||
destTE.patchCount = destTC.threadgroupsPerGrid[0]; \n\
|
||||
destTE.instanceCount = 1; \n\
|
||||
|
Loading…
x
Reference in New Issue
Block a user