texture unit critical path optimization

This commit is contained in:
Blaise Tine
2021-08-05 02:47:26 -07:00
parent deed327890
commit 43ad188ccb
8 changed files with 100 additions and 63 deletions

View File

@@ -13,6 +13,12 @@ module VX_tex_format #(
always @(*) begin
case (format)
`TEX_FORMAT_R8G8B8A8: begin
texel_out_r[07:00] = texel_in[7:0];
texel_out_r[15:08] = texel_in[15:8];
texel_out_r[23:16] = texel_in[23:16];
texel_out_r[31:24] = texel_in[31:24];
end
`TEX_FORMAT_R5G6B5: begin
texel_out_r[07:00] = {texel_in[15:11], texel_in[15:13]};
texel_out_r[15:08] = {texel_in[10:5], texel_in[10:9]};
@@ -31,24 +37,18 @@ module VX_tex_format #(
texel_out_r[23:16] = texel_in[7:0];
texel_out_r[31:24] = texel_in[15:8];
end
`TEX_FORMAT_A8: begin
texel_out_r[07:00] = 0;
texel_out_r[15:08] = 0;
texel_out_r[23:16] = 0;
texel_out_r[31:24] = texel_in[7:0];
end
`TEX_FORMAT_L8: begin
texel_out_r[07:00] = texel_in[7:0];
texel_out_r[15:08] = texel_in[7:0];
texel_out_r[23:16] = texel_in[7:0];
texel_out_r[31:24] = 8'hff;
end
// `TEX_FORMAT_R8G8B8A8
default: begin
texel_out_r[07:00] = texel_in[7:0];
texel_out_r[15:08] = texel_in[15:8];
texel_out_r[23:16] = texel_in[23:16];
texel_out_r[31:24] = texel_in[31:24];
//`TEX_FORMAT_A8
default: begin
texel_out_r[07:00] = 0;
texel_out_r[15:08] = 0;
texel_out_r[23:16] = 0;
texel_out_r[31:24] = texel_in[7:0];
end
endcase
end