summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/gfx/gfx.sv')
-rw-r--r--rtl/gfx/gfx.sv28
1 files changed, 20 insertions, 8 deletions
diff --git a/rtl/gfx/gfx.sv b/rtl/gfx/gfx.sv
index 32364b3..10f4473 100644
--- a/rtl/gfx/gfx.sv
+++ b/rtl/gfx/gfx.sv
@@ -50,15 +50,19 @@ module gfx
gfx_sp sp
(
- .send_ready(1), //TODO
.*
);
- logic frag_mask, scan_mask;
+ logic send_ready, assembly_valid;
+ fp_xyzw assembly_vertex_a, assembly_vertex_b, assembly_vertex_c;
- gfx_masks masks
+ gfx_assembly assembly
(
- .frag_mask_read_addr(),
+ .out_ready(fix_ready),
+ .out_valid(assembly_valid),
+ .out_vertex_a(assembly_vertex_a),
+ .out_vertex_b(assembly_vertex_b),
+ .out_vertex_c(assembly_vertex_c),
.*
);
@@ -68,12 +72,12 @@ module gfx
gfx_fix_floats fix
(
.in_ready(fix_ready),
- .in_valid(0), //TODO
+ .in_valid(assembly_valid),
.out_ready(persp_ready),
.out_valid(fix_valid),
- .in_vertex_a(), //TODO
- .in_vertex_b(), //TODO
- .in_vertex_c(), //TODO
+ .in_vertex_a(assembly_vertex_a),
+ .in_vertex_b(assembly_vertex_b),
+ .in_vertex_c(assembly_vertex_c),
.out_vertex_a(fix_vertex_a),
.out_vertex_b(fix_vertex_b),
.out_vertex_c(fix_vertex_c),
@@ -119,6 +123,14 @@ module gfx
.*
);
+ logic frag_mask, scan_mask;
+
+ gfx_masks masks
+ (
+ .frag_mask_read_addr(),
+ .*
+ );
+
logic frag_mask_set, frag_mask_write, frag_wait;
linear_coord frag_mask_write_addr;