summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_fine.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/gfx/gfx_fine.sv')
-rw-r--r--rtl/gfx/gfx_fine.sv47
1 files changed, 0 insertions, 47 deletions
diff --git a/rtl/gfx/gfx_fine.sv b/rtl/gfx/gfx_fine.sv
deleted file mode 100644
index 6238025..0000000
--- a/rtl/gfx/gfx_fine.sv
+++ /dev/null
@@ -1,47 +0,0 @@
-`include "gfx/gfx_defs.sv"
-
-module gfx_fine
-#(parameter X=0, Y=0)
-(
- input logic clk,
-
- input raster_xy pos,
- input fixed_tri corners,
- input raster_offsets_tri offsets,
- input logic stall,
-
- output frag_xy fragment,
- output logic paint
-);
-
- localparam INDEX = Y * `GFX_RASTER_SIZE + X;
-
- frag_xy fragment_hold;
- fixed_tri edges, per_edge_offsets;
- logic[2:0] signs;
- raster_xy_prec prec;
- logic[`GFX_RASTER_BITS - 1:0] fine_x, fine_y;
-
- assign prec = pos;
- assign fine_x = X;
- assign fine_y = Y;
-
- always_comb
- for (integer i = 0; i < 3; ++i) begin
- signs[i] = edges[i][$bits(edges[0]) - 1];
- per_edge_offsets[i] = offsets[i][INDEX];
- end
-
- always_ff @(posedge clk)
- if (!stall) begin
- paint <= signs == 0;
-
- fragment <= fragment_hold;
- fragment_hold.x <= {prec.x.coarse, fine_x};
- fragment_hold.y <= {prec.y.coarse, fine_y};
-
- for (integer i = 0; i < 3; ++i)
- edges[i] <= corners[i] + per_edge_offsets[i];
- end
-
-endmodule