radeonsi: prepare for driver-specific driconf options
[mesa.git] / src / gallium / drivers / radeonsi / glsl_tests / pack_unpack_half.glsl
1 ; RUN: ./amdgcn_glslc %s | FileCheck -check-prefix=GCN -check-prefix=FUNC %s
2
3 ; We don't want any "v_and" or "v_or" here. v_cvt_f16 only writes the lower 16 bits.
4
5 ; FUNC-LABEL: {{^}}@packhalf:
6 ; GCN: main
7 ; GCN: v_interp_mov
8 ; GCN: v_interp_mov
9 ; GCN-NEXT: v_cvt_f16_f32
10 ; GCN-NEXT: v_lshlrev_b32
11 ; GCN-NEXT: v_cvt_f16_f32
12 ; GCN-NEXT: epilog
13
14 #shader fs packhalf
15 #version 420
16 flat in vec2 v;
17 out uvec4 o;
18 void main() {
19 o.x = packHalf2x16(v);
20 }
21
22
23 ; FUNC-LABEL: {{^}}@unpackhalf:
24 ; GCN: main
25 ; GCN: v_interp_mov
26 ; GCN-NEXT: v_cvt_f32_f16
27 ; GCN-NEXT: v_lshrrev_b32
28 ; GCN-NEXT: v_cvt_f32_f16
29 ; GCN-NEXT: epilog
30
31 #shader fs unpackhalf
32 #version 420
33 flat in uint u;
34 out vec4 o;
35 void main() {
36 o.xy = unpackHalf2x16(u);
37 }