Mesa (master): d3d1x: add missing memory barrier
Luca Barbieri
lb at kemper.freedesktop.org
Wed Sep 22 13:56:14 UTC 2010
Module: Mesa
Branch: master
Commit: d092c0c60ddcb56f8c5d2786ae3b61f5339b84e1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d092c0c60ddcb56f8c5d2786ae3b61f5339b84e1
Author: Luca Barbieri <luca at luca-barbieri.com>
Date: Wed Sep 22 13:21:13 2010 +0200
d3d1x: add missing memory barrier
---
.../d3d1x/d3d1xstutil/include/d3d1xstutil.h | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h b/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
index 19ac53e..55cbd4a 100644
--- a/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
+++ b/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
@@ -363,8 +363,12 @@ struct dual_refcnt_t
unsigned nonatomic_release()
{
//printf("%p nonatomic_release at %u %u\n", this, atomic_refcnt, nonatomic_refcnt);
- if(!--nonatomic_refcnt && !atomic_refcnt && is_zero())
- return 0;
+ if(!--nonatomic_refcnt)
+ {
+ __sync_synchronize();
+ if(!atomic_refcnt && is_zero())
+ return 0;
+ }
return 1;
}
};
More information about the mesa-commit
mailing list