summaryrefslogtreecommitdiff
path: root/.pick_status.json
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2020-09-30 13:07:43 +0200
committerEric Engestrom <eric@engestrom.ch>2020-10-14 19:29:28 +0200
commitebb438a3d212e88e4bd643b6e6c2a4174f130f56 (patch)
tree8d89fde0e723acf80e716c51060af67d6429a379 /.pick_status.json
parentf6dfeec5f40480263b70847082237fbe724b4ebc (diff)
radv: Use atomics to read query results.
The volatile pattern gives me flaky results for 32-bit builds on ChromeOS Android. This is because on 32-bit the volatile 64-bit loads gets split into 2 32-bit loads each. So if we read the lower dword first and then the upper dword, it can happen that the upper dword is already changed but the lower dword isn't yet. In particular for occlusion queries this gives false readings, as the upper dword commonly only constains the ready bit. With the GCC atomic intrinsics we get a call to __atomic_load_8 in libatomic.so which does the right thing. An alternative fix would be to explicitly split the 32-bit loads in the right order and do a bunch of retries if things change, though that gets messy quickly and for 32-bit builds only doesn't feel worth it that much. CC: mesa-stable Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6933> (cherry picked from commit 7568c97df14f8702efcc5691cd8c2fff8f9bff49)
Diffstat (limited to '.pick_status.json')
-rw-r--r--.pick_status.json2
1 files changed, 1 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 0007c7c6a2d..96703886ccc 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -8833,7 +8833,7 @@
"description": "radv: Use atomics to read query results.",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},