summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_swizzle.sv
blob: 1a57c11694749be4107f7895f8c87ec20d1f82f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
`include "gfx/gfx_defs.sv"

module gfx_swizzle
(
	input  logic         clk,

	input  vec4          in,
	input  swizzle_lanes select,
	input  logic         stall,

	output vec4          out
);

	always_ff @(posedge clk)
		if (!stall)
			for (integer i = 0; i < `FLOATS_PER_VEC; ++i)
				out[i] <= in[select[i]];

endmodule