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\
|
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\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user