AR_API_END(APISync, 1);
}
+void SwrStallBE(HANDLE hContext)
+{
+ SWR_CONTEXT* pContext = GetContext(hContext);
+ DRAW_CONTEXT* pDC = GetDrawContext(pContext);
+
+ pDC->dependent = true;
+}
+
void SwrWaitForIdle(HANDLE hContext)
{
SWR_CONTEXT *pContext = GetContext(hContext);
out_funcs.pfnSwrSaveState = SwrSaveState;
out_funcs.pfnSwrRestoreState = SwrRestoreState;
out_funcs.pfnSwrSync = SwrSync;
+ out_funcs.pfnSwrStallBE = SwrStallBE;
out_funcs.pfnSwrWaitForIdle = SwrWaitForIdle;
out_funcs.pfnSwrWaitForIdleFE = SwrWaitForIdleFE;
out_funcs.pfnSwrSetVertexBuffers = SwrSetVertexBuffers;
uint64_t userData2,
uint64_t userData3);
+//////////////////////////////////////////////////////////////////////////
+/// @brief Stall cmd. Stalls the backend until all previous work has been completed.
+/// Frontend work can continue to make progress
+/// @param hContext - Handle passed back from SwrCreateContext
+SWR_FUNC(void, SwrStallBE,
+ HANDLE hContext);
+
//////////////////////////////////////////////////////////////////////////
/// @brief Blocks until all rendering has been completed.
/// @param hContext - Handle passed back from SwrCreateContext
PFNSwrSaveState pfnSwrSaveState;
PFNSwrRestoreState pfnSwrRestoreState;
PFNSwrSync pfnSwrSync;
+ PFNSwrStallBE pfnSwrStallBE;
PFNSwrWaitForIdle pfnSwrWaitForIdle;
PFNSwrWaitForIdleFE pfnSwrWaitForIdleFE;
PFNSwrSetVertexBuffers pfnSwrSetVertexBuffers;