mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-09 03:29:43 -10:00
Note on correctness
On SMP PowerPC (G5), the volatile fallback is technically weaker than true release/acquire — you'd want an lwsync to get real ordering. But: (a) the thumbnail status is a single int, aligned, (b) the failure mode is at worst a fade-in animation starting one frame late, not corruption, and (c) the author's own comment acknowledges this tradeoff ("Platforms with weak ordering that lack GCC builtins do not run threaded video in practice"). Single-core G4 is fine. If you specifically want to harden the G5 path later, the right tool is __sync_synchronize() — which did exist in GCC 4.1 — but that's an enhancement, not a blocker for getting the build green.
This commit is contained in:
1 parent
feec88cd14
commit
91166d06db
1 file changed
+2
-1
+2
-1
@@ -59,7 +59,8 @@
|
||||
* and x86. Platforms with weak ordering that lack GCC
|
||||
* builtins do not run threaded video in practice.
|
||||
*/
|
||||
#if defined(__GNUC__)
|
||||
#if defined(__clang__) || (defined(__GNUC__) && \
|
||||
((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)))
|
||||
#define GFX_THUMB_STATUS_STORE(ptr, val) \
|
||||
__atomic_store_n((int*)(ptr), (int)(val), __ATOMIC_RELEASE)
|
||||
#define GFX_THUMB_STATUS_LOAD(ptr) \
|
||||
|
||||
Reference in new issue
Block a user