bilinear sampling

This commit is contained in:
Krishna Yalamarthy
2021-03-21 22:55:24 -04:00
parent 8fa78ef059
commit c0fdee5787
5 changed files with 229 additions and 67 deletions

18
hw/rtl/tex_unit/VX_lerp.v Normal file
View File

@@ -0,0 +1,18 @@
`include "VX_tex_define.vh"
module VX_lerp_64 #(
) (
input wire [`BLEND_FRAC_64-1:0] blend,
input wire [1:0][63:0] in_texels,
output wire [63:0] lerp_texel
);
wire [63:0] lerp_i1;
wire [63:0] lerp_i2; // >> BLEND_FRAC_64 / >> 8
assign lerp_i1 = (in_texels[0] - in_texels[1]) * blend;
assign lerp_i2 = in_texels[1] + {8'h00,lerp_i1[63:56], 8'h00,lerp_i1[47:40], 8'h00,lerp_i1[31:24], 8'h00,lerp_i1[15:8]};
assign lerp_texel = lerp_i2 & 64'h00ff00ff00ff00ff;
endmodule