| Index: src/gpu/GrProcessor.cpp
|
| diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp
|
| index 3b8cb679fd47b887897be5bb27262c5c9d935dbe..4bda2e18b6dd93c4fcc32f92515daf75386036d6 100644
|
| --- a/src/gpu/GrProcessor.cpp
|
| +++ b/src/gpu/GrProcessor.cpp
|
| @@ -12,7 +12,7 @@
|
| #include "GrInvariantOutput.h"
|
| #include "GrMemoryPool.h"
|
| #include "GrXferProcessor.h"
|
| -#include "SkMutex.h"
|
| +#include "SkSpinlock.h"
|
|
|
| #if SK_ALLOW_STATIC_GLOBAL_INITIALIZERS
|
|
|
| @@ -97,17 +97,17 @@ const SkMatrix& TestMatrix(SkRandom* random) {
|
| }
|
|
|
|
|
| -// We use a global pool protected by a mutex. Chrome may use the same GrContext on different
|
| -// threads. The GrContext is not used concurrently on different threads and there is a memory
|
| -// barrier between accesses of a context on different threads. Also, there may be multiple
|
| +// We use a global pool protected by a mutex(spinlock). Chrome may use the same GrContext on
|
| +// different threads. The GrContext is not used concurrently on different threads and there is a
|
| +// memory barrier between accesses of a context on different threads. Also, there may be multiple
|
| // GrContexts and those contexts may be in use concurrently on different threads.
|
| namespace {
|
| -SK_DECLARE_STATIC_MUTEX(gProcessorPoolMutex);
|
| +SK_DECLARE_STATIC_SPINLOCK(gProcessorSpinlock);
|
| class MemoryPoolAccessor {
|
| public:
|
| - MemoryPoolAccessor() { gProcessorPoolMutex.acquire(); }
|
| + MemoryPoolAccessor() { gProcessorSpinlock.acquire(); }
|
|
|
| - ~MemoryPoolAccessor() { gProcessorPoolMutex.release(); }
|
| + ~MemoryPoolAccessor() { gProcessorSpinlock.release(); }
|
|
|
| GrMemoryPool* pool() const {
|
| static GrMemoryPool gPool(4096, 4096);
|
|
|