OSDN Git Service

Data race fix
authorAlexis Hetu <sugoi@google.com>
Thu, 26 Oct 2017 18:57:17 +0000 (14:57 -0400)
committerAlexis Hétu <sugoi@google.com>
Thu, 26 Oct 2017 19:00:42 +0000 (19:00 +0000)
There's a data race involving threadCount,
so it is now an AtomicInt object.

Also removed unused extern variables.

Bug chromium:778254 chromium:776621

Change-Id: I93174e8f4e5e48f26414ba9c81bb9a2c317dbf73
Reviewed-on: https://swiftshader-review.googlesource.com/13290
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/Renderer/Renderer.cpp
src/Renderer/Renderer.hpp

index 43ae3d9..6fda715 100644 (file)
@@ -61,8 +61,8 @@ namespace sw
        extern bool precacheSetup;
        extern bool precachePixel;
 
-       int batchSize = 128;
-       int threadCount = 1;
+       static const int batchSize = 128;
+       AtomicInt threadCount(1);
        AtomicInt Renderer::unitCount(1);
        AtomicInt Renderer::clusterCount(1);
 
index d455754..ca2140a 100644 (file)
@@ -37,9 +37,6 @@ namespace sw
        class Renderer;
        struct Constants;
 
-       extern int batchSize;
-       extern int threadCount;
-
        enum TranscendentalPrecision
        {
                APPROXIMATE,