mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
st/nine: Use atomics for nine_bind
nine_bind didn't need atomics up to now, because it's use what always within a protected mutex. We need to use atomics because with the next patches several threads may use nine_bind. Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
parent
b748b8fd86
commit
0a5252d25b
1 changed files with 3 additions and 2 deletions
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include "pipe/p_compiler.h"
|
||||
|
||||
#include "util/u_atomic.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "guid.h"
|
||||
|
|
@ -127,7 +128,7 @@ NineUnknown_Destroy( struct NineUnknown *This )
|
|||
static inline UINT
|
||||
NineUnknown_Bind( struct NineUnknown *This )
|
||||
{
|
||||
UINT b = ++This->bind;
|
||||
UINT b = p_atomic_inc_return(&This->bind);
|
||||
assert(b);
|
||||
if (b == 1 && This->container) {
|
||||
if (This->container != NineUnknown(This->device))
|
||||
|
|
@ -139,7 +140,7 @@ NineUnknown_Bind( struct NineUnknown *This )
|
|||
static inline UINT
|
||||
NineUnknown_Unbind( struct NineUnknown *This )
|
||||
{
|
||||
UINT b = --This->bind;
|
||||
UINT b = p_atomic_dec_return(&This->bind);
|
||||
if (!b) {
|
||||
if (This->container) {
|
||||
if (This->container != NineUnknown(This->device))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue