OClCollMeshEngn: hide StagingBuffer's firstSlotOffset
This commit is contained in:
@@ -10,7 +10,6 @@ __kernel void slotCompactor(
|
||||
uint numSlots,
|
||||
uint slotStride,
|
||||
uint slotSize,
|
||||
uint firstSlotOffset,
|
||||
uint nSucceeded)
|
||||
{
|
||||
// Sequential processing: single work item processes all slots
|
||||
@@ -22,8 +21,8 @@ __kernel void slotCompactor(
|
||||
// 3. Exit early once we've moved nFailed dummy slots
|
||||
|
||||
DBG_PRINTF("slotCompactor: KERNEL STARTED\n");
|
||||
DBG_PRINTF("slotCompactor: numSlots=%u, slotStride=%u, slotSize=%u, firstSlotOffset=%u, nSucceeded=%u\n",
|
||||
numSlots, slotStride, slotSize, firstSlotOffset, nSucceeded);
|
||||
DBG_PRINTF("slotCompactor: numSlots=%u, slotStride=%u, slotSize=%u, nSucceeded=%u\n",
|
||||
numSlots, slotStride, slotSize, nSucceeded);
|
||||
|
||||
uint nFailed = numSlots - nSucceeded; // Calculate number of failed slots
|
||||
uint nonDummiesSeen = 0; // Track how many non-dummy slots we've seen
|
||||
@@ -53,8 +52,7 @@ __kernel void slotCompactor(
|
||||
}
|
||||
|
||||
// Calculate slot address
|
||||
__global uchar* slotAddr = assembly + firstSlotOffset
|
||||
+ (i * slotStride);
|
||||
__global uchar* slotAddr = assembly + (i * slotStride);
|
||||
|
||||
// Check if slot is dummy: first 4 bytes should all be 0xFF
|
||||
bool isDummy = (slotAddr[0] == 0xFF) && (slotAddr[1] == 0xFF)
|
||||
@@ -78,8 +76,7 @@ __kernel void slotCompactor(
|
||||
bool foundNonDummy = false;
|
||||
for (int j = (int)rightmostNonDummy; j > (int)i; --j)
|
||||
{
|
||||
__global uchar* checkSlotAddr = assembly + firstSlotOffset
|
||||
+ (j * slotStride);
|
||||
__global uchar* checkSlotAddr = assembly + (j * slotStride);
|
||||
|
||||
bool checkIsDummy = (checkSlotAddr[0] == 0xFF)
|
||||
&& (checkSlotAddr[1] == 0xFF) && (checkSlotAddr[2] == 0xFF)
|
||||
@@ -99,7 +96,7 @@ __kernel void slotCompactor(
|
||||
if (foundNonDummy)
|
||||
{
|
||||
DBG_PRINTF("slotCompactor: Moving slot from %u to %u\n", rightmostNonDummy, i);
|
||||
__global uchar* srcAddr = assembly + firstSlotOffset
|
||||
__global uchar* srcAddr = assembly
|
||||
+ (rightmostNonDummy * slotStride);
|
||||
|
||||
// Copy slot data (byte-by-byte copy)
|
||||
|
||||
Reference in New Issue
Block a user