summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_defs.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-11-05 21:35:16 -0600
committerAlejandro Soto <alejandro@34project.org>2023-11-10 01:43:02 -0600
commit5c982f38139cd1b0c5b590f67e99b1bcc1a32c9b (patch)
tree8085b34356b79eac8f8a22bc0c484bddfd676b73 /rtl/gfx/gfx_defs.sv
parentd5de20fade70a0d454e3aa0087313ca715ff8759 (diff)
rtl/gfx: implement fixed-point FMA
Diffstat (limited to 'rtl/gfx/gfx_defs.sv')
-rw-r--r--rtl/gfx/gfx_defs.sv8
1 files changed, 5 insertions, 3 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv
index 1d2bd68..45e1a63 100644
--- a/rtl/gfx/gfx_defs.sv
+++ b/rtl/gfx/gfx_defs.sv
@@ -14,7 +14,6 @@
typedef logic[`FLOAT_BITS - 1:0] fp;
typedef fp vec2[2];
typedef fp vec4[`FLOATS_PER_VEC];
-typedef fp[`FLOATS_PER_VEC - 1:0] vec4_packed;
typedef vec4 mat4[`VECS_PER_MAT];
`define FP_UNIT 16'h3c00
@@ -48,10 +47,13 @@ typedef struct packed
logic[9:0] r, g, b;
} rgb30;
-typedef logic signed[31:0] fixed;
-
`define FIXED_FRAC 16
+`define FIXED_FMA_STAGES 5
+`define FIXED_FMA_DOT_STAGES (2 * `FIXED_FMA_STAGES)
+
+typedef logic signed[31:0] fixed;
+
typedef struct packed
{
fixed x, y;