summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>2021-06-05 16:19:58 -0400
committerMarge Bot <eric+marge@anholt.net>2021-07-05 20:56:03 +0000
commitef808205c6a759faadd9128469113830b4f52d5e (patch)
tree25de93cbc1085ae632a6d1e94609d1a193f3ea62
parentbe4d88a6baea8b60587352d3d2ef63814966ae1d (diff)
agx: Add agx_immediate_f helper
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
-rw-r--r--src/asahi/compiler/agx_compiler.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/asahi/compiler/agx_compiler.h b/src/asahi/compiler/agx_compiler.h
index dc3d6ff2bcf..11543772adc 100644
--- a/src/asahi/compiler/agx_compiler.h
+++ b/src/asahi/compiler/agx_compiler.h
@@ -31,6 +31,7 @@
#include "util/u_dynarray.h"
#include "agx_compile.h"
#include "agx_opcodes.h"
+#include "agx_minifloat.h"
enum agx_dbg {
AGX_DBG_MSGS = BITFIELD_BIT(0),
@@ -92,6 +93,13 @@ agx_immediate(uint16_t imm)
};
}
+static inline agx_index
+agx_immediate_f(float f)
+{
+ assert(agx_minifloat_exact(f));
+ return agx_immediate(agx_minifloat_encode(f));
+}
+
/* in half-words, specify r0h as 1, r1 as 2... */
static inline agx_index
agx_register(uint8_t imm, enum agx_size size)