Mesa (master): freedreno: Clean up tests around ORing in the reloc flags.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri May 8 20:07:28 UTC 2020
Module: Mesa
Branch: master
Commit: e1c74f3facce57555284d23ee11bc009928806f1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1c74f3facce57555284d23ee11bc009928806f1
Author: Eric Anholt <eric at anholt.net>
Date: Thu May 7 16:34:35 2020 -0700
freedreno: Clean up tests around ORing in the reloc flags.
gcc was surprisingly not seeing through this to just do an AND and an OR.
Improves drawoverhead's few uniforms / 1 change throughput 1.64141% +/-
0.188152% (n=60).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4957>
---
src/freedreno/drm/msm_ringbuffer_sp.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/freedreno/drm/msm_ringbuffer_sp.c b/src/freedreno/drm/msm_ringbuffer_sp.c
index d8915707c79..ecb102f2535 100644
--- a/src/freedreno/drm/msm_ringbuffer_sp.c
+++ b/src/freedreno/drm/msm_ringbuffer_sp.c
@@ -152,12 +152,11 @@ append_bo(struct msm_submit_sp *submit, struct fd_bo *bo, uint32_t flags)
msm_bo->idx = idx;
}
- if (flags & FD_RELOC_READ)
- submit->submit_bos[idx].flags |= MSM_SUBMIT_BO_READ;
- if (flags & FD_RELOC_WRITE)
- submit->submit_bos[idx].flags |= MSM_SUBMIT_BO_WRITE;
- if (flags & FD_RELOC_DUMP)
- submit->submit_bos[idx].flags |= MSM_SUBMIT_BO_DUMP;
+ STATIC_ASSERT(FD_RELOC_READ == MSM_SUBMIT_BO_READ);
+ STATIC_ASSERT(FD_RELOC_WRITE == MSM_SUBMIT_BO_WRITE);
+ STATIC_ASSERT(FD_RELOC_DUMP == MSM_SUBMIT_BO_DUMP);
+ submit->submit_bos[idx].flags |=
+ flags & (MSM_SUBMIT_BO_READ | MSM_SUBMIT_BO_WRITE | MSM_SUBMIT_BO_DUMP);
return idx;
}
More information about the mesa-commit
mailing list