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:
U-DESKTOP-SPFP6AQ\twistedtechre committed 2026-04-20 21:45:32 +02:00
1 parent feec88cd14
commit 91166d06db
1 file changed
+2 -1
+2 -1
View File
@@ -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) \