Mesa (main): pan/va: Move va_flow_is_wait_or_none to common
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 21 22:41:34 UTC 2022
Module: Mesa
Branch: main
Commit: 738a1572d264be8bab8cb27301f842bcc4695b13
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=738a1572d264be8bab8cb27301f842bcc4695b13
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 16 14:50:09 2022 -0400
pan/va: Move va_flow_is_wait_or_none to common
We want to use this helper in the "mark last" pass too.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091>
---
src/panfrost/bifrost/valhall/va_merge_flow.c | 12 +++---------
src/panfrost/bifrost/valhall/valhall.h | 7 +++++++
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/panfrost/bifrost/valhall/va_merge_flow.c b/src/panfrost/bifrost/valhall/va_merge_flow.c
index f50ac2f84fe..a6987f8a6e7 100644
--- a/src/panfrost/bifrost/valhall/va_merge_flow.c
+++ b/src/panfrost/bifrost/valhall/va_merge_flow.c
@@ -104,12 +104,6 @@ merge_end_reconverge(bi_block *block)
bi_remove_instruction(last);
}
-static bool
-is_wait_or_none(enum va_flow flow)
-{
- return (flow <= VA_FLOW_WAIT);
-}
-
/*
* Calculate the union of two waits. We may wait on any combination of slots #0,
* #1, #2 or the entirety of 0126 and 01267. If we wait on the entirety, the
@@ -120,7 +114,7 @@ is_wait_or_none(enum va_flow flow)
static enum va_flow
union_waits(enum va_flow x, enum va_flow y)
{
- assert(is_wait_or_none(x) && is_wait_or_none(y));
+ assert(va_flow_is_wait_or_none(x) && va_flow_is_wait_or_none(y));
if ((x == VA_FLOW_WAIT) || (y == VA_FLOW_WAIT))
return VA_FLOW_WAIT;
@@ -138,7 +132,7 @@ merge_waits(bi_block *block)
bi_foreach_instr_in_block_safe(block, I) {
if (last_free != NULL &&
- I->op == BI_OPCODE_NOP && is_wait_or_none(I->flow)) {
+ I->op == BI_OPCODE_NOP && va_flow_is_wait_or_none(I->flow)) {
/* Merge waits with compatible instructions */
last_free->flow = union_waits(last_free->flow, I->flow);
@@ -157,7 +151,7 @@ merge_waits(bi_block *block)
* This includes such an instruction after merging in a wait. It also
* includes async instructions.
*/
- if (is_wait_or_none(I->flow))
+ if (va_flow_is_wait_or_none(I->flow))
last_free = I;
}
}
diff --git a/src/panfrost/bifrost/valhall/valhall.h b/src/panfrost/bifrost/valhall/valhall.h
index 07a71cbbaf0..a634a1487eb 100644
--- a/src/panfrost/bifrost/valhall/valhall.h
+++ b/src/panfrost/bifrost/valhall/valhall.h
@@ -29,6 +29,7 @@
#include <stdint.h>
#include "bi_opcodes.h"
+#include "valhall_enums.h"
#ifdef __cplusplus
extern "C" {
@@ -148,6 +149,12 @@ va_src_info(enum bi_opcode op, unsigned src)
return valhall_opcodes[op].srcs[idx];
}
+static inline bool
+va_flow_is_wait_or_none(enum va_flow flow)
+{
+ return (flow <= VA_FLOW_WAIT);
+}
+
#ifdef __cplusplus
} /* extern C */
#endif
More information about the mesa-commit
mailing list