uint32_t nextDrawId;
};
+///@brief API Stat: Split draw event for DrawInstanced. In certain cases, Rasty can split draws up into smaller draws.
+event DrawInstancedSplitEvent
+{
+ uint32_t drawId;
+};
+
+///@brief API Stat: Split draw event for DrawIndexedInstanced.
+event DrawIndexedInstancedSplitEvent
+{
+ uint32_t drawId;
+};
+
+///@brief API Stat: Synchonization event.
+event SwrSyncEvent
+{
+ uint32_t drawId;
+};
+
+///@brief API Stat: Invalidate hot tiles (i.e. tile cache)
+event SwrInvalidateTilesEvent
+{
+ uint32_t drawId;
+};
+
+///@brief API Stat: Invalidate and discard hot tiles within pixel region
+event SwrDiscardRectEvent
+{
+ uint32_t drawId;
+};
+
+///@brief API Stat: Flush tiles out to memory that is typically owned by driver (e.g. Flush RT cache)
+event SwrStoreTilesEvent
+{
+ uint32_t drawId;
+};
+
event FrontendStatsEvent
{
uint32_t drawId;
pDC->retireCallback.userData2 = userData2;
pDC->retireCallback.userData3 = userData3;
+ AR_API_EVENT(SwrSyncEvent(pDC->drawId));
+
//enqueue
QueueDraw(pContext);
//enqueue DC
QueueDraw(pContext);
+ AR_API_EVENT(DrawInstancedSplitEvent(pDC->drawId));
+
remainingVerts -= numVertsForDraw;
draw++;
}
//enqueue DC
QueueDraw(pContext);
+ AR_API_EVENT(DrawIndexedInstancedSplitEvent(pDC->drawId));
+
pIB += maxIndicesPerDraw * indexSize;
remainingIndices -= numIndicesForDraw;
draw++;
//enqueue
QueueDraw(pContext);
+
+ AR_API_EVENT(SwrInvalidateTilesEvent(pDC->drawId));
}
//////////////////////////////////////////////////////////////////////////
//enqueue
QueueDraw(pContext);
+
+ AR_API_EVENT(SwrDiscardRectEvent(pDC->drawId));
}
//////////////////////////////////////////////////////////////////////////
//enqueue
QueueDraw(pContext);
+ AR_API_EVENT(SwrStoreTilesEvent(pDC->drawId));
+
AR_API_END(APIStoreTiles, 1);
}