swr: [rasterizer core] CompleteDrawContext changes for gcc
authorTim Rowley <timothy.o.rowley@intel.com>
Wed, 13 Apr 2016 01:28:50 +0000 (19:28 -0600)
committerTim Rowley <timothy.o.rowley@intel.com>
Fri, 22 Apr 2016 23:49:04 +0000 (18:49 -0500)
Add explicit inline and non-inline versions of CompleteDrawContext
to make gcc happy.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/rasterizer/core/threads.cpp

index 21bff4ec082f5f553fe8c6794b27dff1dd876a67..47629e53ada756ffc392b895c72529c5c8f3726b 100644 (file)
@@ -285,7 +285,8 @@ bool CheckDependency(SWR_CONTEXT *pContext, DRAW_CONTEXT *pDC, uint64_t lastReti
     return (pDC->dependency > lastRetiredDraw);
 }
 
-INLINE int64_t CompleteDrawContext(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC)
+// inlined-only version
+INLINE int64_t CompleteDrawContextInl(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC)
 {
     int64_t result = InterlockedDecrement64(&pDC->threadsDone);
     SWR_ASSERT(result >= 0);
@@ -311,6 +312,12 @@ INLINE int64_t CompleteDrawContext(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC)
     return result;
 }
 
+// available to other translation modules
+int64_t CompleteDrawContext(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC)
+{
+    return CompleteDrawContextInl(pContext, pDC);
+}
+
 INLINE bool FindFirstIncompleteDraw(SWR_CONTEXT* pContext, uint64_t& curDrawBE, uint64_t& drawEnqueued)
 {
     // increment our current draw id to the first incomplete draw
@@ -329,7 +336,7 @@ INLINE bool FindFirstIncompleteDraw(SWR_CONTEXT* pContext, uint64_t& curDrawBE,
         if (isWorkComplete)
         {
             curDrawBE++;
-            CompleteDrawContext(pContext, pDC);
+            CompleteDrawContextInl(pContext, pDC);
         }
         else
         {
@@ -457,7 +464,7 @@ void WorkOnFifoBE(
                 {
                     // We can increment the current BE and safely move to next draw since we know this draw is complete.
                     curDrawBE++;
-                    CompleteDrawContext(pContext, pDC);
+                    CompleteDrawContextInl(pContext, pDC);
 
                     lastRetiredDraw++;
 
@@ -484,7 +491,7 @@ void WorkOnFifoFE(SWR_CONTEXT *pContext, uint32_t workerId, uint64_t &curDrawFE)
         DRAW_CONTEXT *pDC = &pContext->dcRing[dcSlot];
         if (pDC->isCompute || pDC->doneFE || pDC->FeLock)
         {
-            CompleteDrawContext(pContext, pDC);
+            CompleteDrawContextInl(pContext, pDC);
             curDrawFE++;
         }
         else