radeonsi: add an si_set_rw_shader_buffer convenience function
[mesa.git] / src / gallium / drivers / radeonsi / glsl_tests / bitfield_insert.glsl
1 ; RUN: ./amdgcn_glslc %s | FileCheck -check-prefix=GCN -check-prefix=FUNC %s
2
3 ; FUNC-LABEL: {{^}}@bfi_i32:
4 ; GCN: main
5 ; GCN: v_interp_mov
6 ; GCN: v_interp_mov
7 ; GCN: v_interp_mov
8 ; GCN: v_interp_mov
9 ; GCN-NEXT: v_bfm_b32
10 ; GCN-NEXT: v_lshlrev_b32
11 ; GCN-NEXT: v_bfi_b32
12 ; GCN-NEXT: epilog
13
14 #shader fs bfi_i32
15 #version 400
16 flat in ivec4 v;
17 out ivec4 o;
18 void main() {
19 o.x = bitfieldInsert(v.x, v.y, v.z, v.w);
20 }
21
22
23 ; FUNC-LABEL: {{^}}@bfi_u32:
24 ; GCN: main
25 ; GCN: v_interp_mov
26 ; GCN: v_interp_mov
27 ; GCN: v_interp_mov
28 ; GCN: v_interp_mov
29 ; GCN-NEXT: v_bfm_b32
30 ; GCN-NEXT: v_lshlrev_b32
31 ; GCN-NEXT: v_bfi_b32
32 ; GCN-NEXT: epilog
33
34 #shader fs bfi_u32
35 #version 400
36 flat in uvec4 v;
37 out uvec4 o;
38 void main() {
39 o.x = bitfieldInsert(v.x, v.y, int(v.z), int(v.w));
40 }