diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-11-12 23:42:59 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-11-14 07:48:52 -0600 |
| commit | 3e8235aa71a930be815e03230b64bb850b6ffdb4 (patch) | |
| tree | 97425f5d144dba24d24d9a5584c64d46c5c7f5c0 | |
| parent | 01eaa9a9175a7cb313ff58182a31a964dbac7071 (diff) | |
rtl/gfx: move funnel out of frag
Diffstat (limited to '')
| -rw-r--r-- | gfx_hw.tcl | 2 | ||||
| -rw-r--r-- | rtl/gfx/gfx.sv | 24 | ||||
| -rw-r--r-- | rtl/gfx/gfx_frag.sv | 37 | ||||
| -rw-r--r-- | rtl/gfx/gfx_funnel.sv (renamed from rtl/gfx/gfx_frag_funnel.sv) | 2 |
4 files changed, 32 insertions, 33 deletions
@@ -70,11 +70,11 @@ add_fileset_file gfx_raster_fine.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_raster_fine. add_fileset_file gfx_raster_coarse.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_raster_coarse.sv add_fileset_file gfx_clear.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_clear.sv add_fileset_file gfx_lerp.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_lerp.sv +add_fileset_file gfx_funnel.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_funnel.sv add_fileset_file gfx_frag.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_frag.sv add_fileset_file gfx_frag_addr.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_frag_addr.sv add_fileset_file gfx_frag_bary.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_frag_bary.sv add_fileset_file gfx_frag_shade.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_frag_shade.sv -add_fileset_file gfx_frag_funnel.sv SYSTEM_VERILOG PATH rtl/gfx/gfx_frag_funnel.sv # diff --git a/rtl/gfx/gfx.sv b/rtl/gfx/gfx.sv index adb777f..cf209bf 100644 --- a/rtl/gfx/gfx.sv +++ b/rtl/gfx/gfx.sv @@ -52,7 +52,7 @@ module gfx ( .in_ready(raster_ready), .in_valid(0), //TODO - .out_ready(frag_ready), + .out_ready(funnel_ready), .out_valid(raster_valid), .vertex_a(), //TODO @@ -72,17 +72,33 @@ module gfx .* ); + logic funnel_ready, funnel_valid; + frag_xy funnel_frag; + fixed_tri funnel_bary; + + gfx_funnel funnel + ( + .bary(funnel_bary), + .frag(funnel_frag), + .in_ready(funnel_ready), + .in_valid(raster_valid), + .out_ready(frag_ready), + .out_valid(funnel_valid), + .* + ); + logic frag_ready, frag_valid; frag_paint frag_out; gfx_frag frag ( + .out(frag_out), + .bary(funnel_bary), + .frag(funnel_frag), .in_ready(frag_ready), - .in_valid(raster_valid), + .in_valid(funnel_valid), .out_ready(1), //TODO .out_valid(frag_valid), - - .out(frag_out), .* ); diff --git a/rtl/gfx/gfx_frag.sv b/rtl/gfx/gfx_frag.sv index 94db287..108f99a 100644 --- a/rtl/gfx/gfx_frag.sv +++ b/rtl/gfx/gfx_frag.sv @@ -5,10 +5,10 @@ module gfx_frag input logic clk, rst_n, - input frag_xy_lanes fragments, - input bary_lanes barys, - input fixed_tri ws, - input paint_lanes in_valid, + input frag_xy frag, + input fixed_tri bary, + ws, + input logic in_valid, output logic in_ready, input logic out_ready, @@ -16,27 +16,11 @@ module gfx_frag output frag_paint out ); - logic funnel_valid; - frag_xy funnel_frag; - fixed_tri bary; - - gfx_frag_funnel funnel - ( - .frag(funnel_frag), - .out_ready(frag_ready), - .out_valid(funnel_valid), - .* - ); - - logic frag_ready, frag_stall; + logic stall; gfx_pipeline_flow #(.STAGES(`GFX_FRAG_STAGES)) addr_flow ( - .stall(frag_stall), - .in_ready(frag_ready), - .in_valid(funnel_valid), - .out_ready(1), - .out_valid(), + .stall(stall), .* ); @@ -44,8 +28,7 @@ module gfx_frag gfx_frag_addr addr ( - .frag(funnel_frag), - .stall(frag_stall), + .stall(stall), .* ); @@ -55,7 +38,7 @@ module gfx_frag ( .in(linear), .out(), - .stall(frag_stall), + .stall(stall), .* ); @@ -63,13 +46,13 @@ module gfx_frag gfx_frag_bary frag_bary ( - .stall(frag_stall), + .stall(stall), .* ); gfx_frag_shade shade ( - .stall(frag_stall), + .stall(stall), .color(), .argb0(), .argb1_argb0(), diff --git a/rtl/gfx/gfx_frag_funnel.sv b/rtl/gfx/gfx_funnel.sv index 943f582..22fefe3 100644 --- a/rtl/gfx/gfx_frag_funnel.sv +++ b/rtl/gfx/gfx_funnel.sv @@ -1,6 +1,6 @@ `include "gfx/gfx_defs.sv" -module gfx_frag_funnel +module gfx_funnel ( input logic clk, rst_n, |
