summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-11-10 21:32:15 -0600
committerAlejandro Soto <alejandro@34project.org>2023-11-11 00:14:14 -0600
commita979554f1f69b1a3a28e0fa38a26736fbab082da (patch)
tree3c722f82134c3adfafd60c20d3855661fbc45f5e /rtl/gfx/gfx.sv
parent152a3970fc3d0d55823840cf45edcf84c5b471fd (diff)
rtl/gfx: implement fragment address linearization
Diffstat (limited to '')
-rw-r--r--rtl/gfx/gfx.sv32
1 files changed, 32 insertions, 0 deletions
diff --git a/rtl/gfx/gfx.sv b/rtl/gfx/gfx.sv
index f973b73..bd797df 100644
--- a/rtl/gfx/gfx.sv
+++ b/rtl/gfx/gfx.sv
@@ -42,6 +42,24 @@ module gfx
.*
);
+ logic raster_ready;
+ paint_lanes raster_valid;
+ frag_xy_lanes fragments;
+
+ gfx_raster raster
+ (
+ .in_ready(raster_ready),
+ .in_valid(0), //TODO
+ .out_ready(frag_ready),
+ .out_valid(raster_valid),
+
+ .vertex_a(), //TODO
+ .vertex_b(), //TODO
+ .vertex_c(), //TODO
+
+ .*
+ );
+
logic frag_mask_set, frag_mask_write, frag_wait;
linear_coord frag_mask_write_addr;
@@ -52,6 +70,20 @@ module gfx
.*
);
+ logic frag_ready, frag_valid;
+ frag_paint frag_out;
+
+ gfx_frag frag
+ (
+ .in_ready(frag_ready),
+ .in_valid(raster_valid),
+ .out_ready(1), //TODO
+ .out_valid(frag_valid),
+
+ .out(frag_out),
+ .*
+ );
+
logic scanout_read_tmp, vsync;
linear_coord scan_mask_addr;