Fix draw race condition regression.

Change-Id: Idcf7c19c2467edf941a8a426078b6f7d7779ab12
Reviewed-on: https://swiftshader-review.googlesource.com/4943
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp
index 5535967..51bcee1 100644
--- a/src/Renderer/Renderer.cpp
+++ b/src/Renderer/Renderer.cpp
@@ -886,6 +886,12 @@
 
 		pixelProgress[cluster].processedPrimitives = primitive + count;
 
+		if(pixelProgress[cluster].processedPrimitives >= draw.count)
+		{
+			pixelProgress[cluster].drawCall++;
+			pixelProgress[cluster].processedPrimitives = 0;
+		}
+
 		int ref = atomicDecrement(&primitiveProgress[unit].references);
 
 		if(ref == 0)
@@ -981,12 +987,6 @@
 			}
 		}
 
-		if(pixelProgress[cluster].processedPrimitives >= draw.count)
-		{
-			pixelProgress[cluster].drawCall++;
-			pixelProgress[cluster].processedPrimitives = 0;
-		}
-
 		pixelProgress[cluster].executing = false;
 	}