| // SwiftShader Software Renderer
|
| // Copyright(c) 2005-2011 TransGaming Inc.
|
| // All rights reserved. No part of this software may be copied, distributed, transmitted,
|
| // transcribed, stored in a retrieval system, translated into any human or computer
|
| // language by any means, or disclosed to third parties without the explicit written
|
| // agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
|
| // or implied, including but not limited to any patent rights, are granted to you.
|
| if(atomicExchange(&mutex, 1) == 0)
|
| for(int i = 0; i < backoff; i++)
|
| // Ensure that the mutex variable is on its own 64-byte cache line to avoid false sharing
|
| // Padding must be public to avoid compiler warnings
|
| volatile int padding1[16];
|
| volatile int padding2[15];
|
| #endif // sw_MutexLock_hpp
|