diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-11-12 01:37:02 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-11-14 07:18:16 -0600 |
| commit | bf6b4e2e8ebb63f6b8466bc98650ce75f3bdc79f (patch) | |
| tree | d3fbcb5b8582fce317fdae71e4b32c9398266a6a /rtl/gfx/gfx_frag.sv | |
| parent | 50440e25024b5d64b36396d2a5f5b8413d93eefc (diff) | |
rtl/gfx: implement fragment shading
Diffstat (limited to '')
| -rw-r--r-- | rtl/gfx/gfx_frag.sv | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/rtl/gfx/gfx_frag.sv b/rtl/gfx/gfx_frag.sv index 3598ed9..b4481ce 100644 --- a/rtl/gfx/gfx_frag.sv +++ b/rtl/gfx/gfx_frag.sv @@ -27,7 +27,7 @@ module gfx_frag logic addr_ready, addr_stall; - gfx_pipeline_flow #(.STAGES(`GFX_FRAG_ADDR_STAGES)) addr_flow + gfx_pipeline_flow #(.STAGES(`GFX_FRAG_SHADE_STAGES)) addr_flow ( .stall(addr_stall), .in_ready(addr_ready), @@ -37,12 +37,36 @@ module gfx_frag .* ); + linear_coord linear; + gfx_frag_addr addr ( + .frag(funnel_frag), .stall(addr_stall), + .* + ); - .frag(funnel_frag), - .linear(), + localparam ADDR_WAIT_Z_STAGES = `GFX_FRAG_SHADE_STAGES - `GFX_FRAG_ADDR_STAGES; + + gfx_pipes #(.WIDTH($bits(linear_coord)), .DEPTH(ADDR_WAIT_Z_STAGES)) addr_pipes + ( + .in(linear), + .out(), + .stall(addr_stall), + .* + ); + + gfx_frag_shade shade + ( + .stall(addr_stall), + + .b1(), + .b2(), + .color(), + + .argb0(), + .argb1_argb0(), + .argb2_argb0(), .* ); |
