aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost/bifrost.h
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-03-02 07:35:49 -0500
committerMarge Bot <[email protected]>2020-03-03 00:03:50 +0000
commit2db454bbabf07bffbc61e68d51dfb733c11e4976 (patch)
tree6da59b7fdb0dc3cd37b1bbeff28bba484604d52b /src/panfrost/bifrost/bifrost.h
parent67bbaddf7d8eef7eb2b2ab3944a1a4a86d16bded (diff)
pan/bi: Decode FMA_SHIFT properly
The shift-bitwise ops are fairly configurable, let's decode this the right way. Choo choo. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
Diffstat (limited to 'src/panfrost/bifrost/bifrost.h')
-rw-r--r--src/panfrost/bifrost/bifrost.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bifrost.h b/src/panfrost/bifrost/bifrost.h
index a8725f395ab..2cb6eb1ca2a 100644
--- a/src/panfrost/bifrost/bifrost.h
+++ b/src/panfrost/bifrost/bifrost.h
@@ -102,5 +102,16 @@ struct bifrost_csel4 {
unsigned op : 8;
};
+struct bifrost_shift_fma {
+ unsigned src0 : 3;
+ unsigned src1 : 3;
+ unsigned src2 : 3;
+ unsigned half : 3; /* 000 for i32, 111 for v2i16 */
+ unsigned unk : 1; /* always set? */
+ unsigned invert_1 : 1; /* Inverts sources to combining op */
+ /* For XOR, switches RSHIFT to LSHIFT since only one invert needed */
+ unsigned invert_2 : 1;
+ unsigned op : 8;
+};
#endif