diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-11-02 20:36:51 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-11-10 01:42:47 -0600 |
| commit | 85fc7268a690e38ecb7f3b04dbfb8d70f2570a79 (patch) | |
| tree | 5e7ba468b1c8e68c3835c59c83a10d285787ea37 /rtl/gfx/gfx_defs.sv | |
| parent | 814eb9d024a928380815a8a830eee3b86d71cf75 (diff) | |
rtl/gfx: implement perspective division
Diffstat (limited to '')
| -rw-r--r-- | rtl/gfx/gfx_defs.sv | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv index 1fe0df2..6e96b4e 100644 --- a/rtl/gfx/gfx_defs.sv +++ b/rtl/gfx/gfx_defs.sv @@ -11,10 +11,18 @@ `define FP_MUL_STAGES 5 // ~144 LUTs ~1 bloque DSP `define FP_INV_STAGES 3 // ~178 LUTs ~1 bloque DSP -typedef logic[`FLOAT_BITS - 1:0] fp; -typedef fp vec2[2]; -typedef fp vec4[`FLOATS_PER_VEC]; -typedef vec4 mat4[`VECS_PER_MAT]; +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 + +typedef struct packed +{ + fp x, y, z, w; +} attr4; typedef logic[1:0] index4; |
