summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_defs.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-11-12 22:18:10 -0600
committerAlejandro Soto <alejandro@34project.org>2023-11-14 07:48:52 -0600
commit58d647a047e8761ad1f619173ee51dd4b65831ac (patch)
treee3a08d6321da9a031caf81d84a59ca4f05823fa9 /rtl/gfx/gfx_defs.sv
parenta401d413ba766b01aa980a8e013c79500a490c2e (diff)
rtl/gfx: implement perspective-corrected barycentric coordinates
Diffstat (limited to 'rtl/gfx/gfx_defs.sv')
-rw-r--r--rtl/gfx/gfx_defs.sv6
1 files changed, 6 insertions, 0 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv
index bffbb1f..7da259a 100644
--- a/rtl/gfx/gfx_defs.sv
+++ b/rtl/gfx/gfx_defs.sv
@@ -67,6 +67,10 @@ typedef struct packed
typedef logic signed[31:0] fixed;
typedef fixed[2:0] fixed_tri;
+`define EDGE_P0_TO_P1 0
+`define EDGE_P1_TO_P2 1
+`define EDGE_P2_TO_P0 2
+
typedef struct packed
{
fixed x, y;
@@ -134,6 +138,8 @@ typedef struct packed
} frag_paint;
`define GFX_FRAG_ADDR_STAGES 3
+`define GFX_FRAG_BARY_STAGES (`FIXED_DIV_STAGES + 2 + `FIXED_DIV_STAGES)
`define GFX_FRAG_SHADE_STAGES (`LERP_STAGES + 1)
+`define GFX_FRAG_STAGES (`GFX_FRAG_BARY_STAGES + `GFX_FRAG_SHADE_STAGES)
`endif