From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 101442] Piglit shaders@ssa@fs-if-def-else-break fails with sb
but passes with R600_DEBUG=nosb
Date: Thu, 15 Jun 2017 09:07:31 +0000
Message-ID:
Bug ID
101442
Summary
Piglit shaders@ssa@fs-if-def-else-break fails with sb=
but passes with R600_DEBUG=3Dnosb
Product
Mesa
Version
git
Hardware
Other
OS
All
Status
NEW
Severity
normal
Priority
medium
Component
Drivers/Gallium/r600
Assignee
dri-devel@lists.freedesktop.org
Reporter
gw.fossdev@gmail.com
QA Contact
dri-devel@lists.freedesktop.org
The piglit test=20
shaders@ssa@fs-if-def-else-break
fails with only with sb enabled but passes without it.
The relevant parts of the failing shader before and after optimization look
like this:=20
=3D=3D=3D=3D=3D SHADER #12 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PS/BARTS=
/EVERGREEN
=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D 90 dw =3D=3D=3D=3D=3D 9 gprs =3D=3D=3D=3D=3D 2 stack =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
[...]
0060 801f00fe 0100229c 6 MP x: PRED_SETNE_INT R8.x, PV.x, 0
0018 0000000b 82800000 JUMP @22
0020 0000001f a00c0000 ALU 4 @62
0062 000000f8 00200c90 7 x: MOV R1.x, 0 <=
;----
0064 000004f9 20200c90 y: MOV R1.y, 1.0 <=
;----
0066 000000f8 40200c90 z: MOV R1.z, 0
0068 800004f9 60200c90 w: MOV R1.w, 1.0
0022 0000000d 83400001 ELSE @26 POP:1
0024 00000023 a80c0000 ALU_POP_AFTER 4 @70
0070 000004f9 00200c90 8 x: MOV R1.x, 1.0 <=
;----
0072 000000f8 20200c90 y: MOV R1.y, 0 <=
;----
0074 000000f8 40200c90 z: MOV R1.z, 0
0076 800004f9 60200c90 w: MOV R1.w, 1.0
0026 40000027 a4040000 ALU_PUSH_BEFORE 2 @78 KC0[CB0:0-15]
0078 80000081 00801990 9 x: NOT_INT R4.x, KC0[1].x
0080 801f00fe 0100229c 10 MP x: PRED_SETNE_INT R8.x, PV.x, 0
0028 00000011 82800001 JUMP @34 POP:1
0030 00000011 82400000 LOOP_BREAK @34
0032 00000011 83800001 POP @34 POP:1
0034 00000002 81400000 LOOP_END @4
0036 00000029 a00c0000 ALU 4 @82
0082 00000001 00000c90 11 x: MOV R0.x, R1.x
0084 00000401 20000c90 y: MOV R0.y, R1.y
0086 00000801 40000c90 z: MOV R0.z, R1.z
0088 80000c01 60000c90 w: MOV R0.w, R1.w
0038 c0000000 95200688 EXPORT_DONE PIXEL 0 R0.xyzw EOP
=3D=3D=3D=3D=3D SHADER_END
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D SHADER #12 OPT =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PS/BARTS/EVERG=
REEN
=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D 50 dw =3D=3D=3D=3D=3D 1 gprs =3D=3D=3D=3D=3D 2 stack
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
[...]
0040 801f0800 00002284 3 M x: PRED_SETNE_INT __.x, R0.z, 0
0018 0000000d 82800001 JUMP @26 POP:1
0020 00000015 a0040000 ALU 2 @42
0042 000000f9 00000c90 4 x: MOV R0.x, 1.0 <=
-----
0044 800000f8 20000c90 y: MOV R0.y, 0 <=
-----
0022 0000000e 82400000 LOOP_BREAK @28
0024 0000000d 83800001 POP @26 POP:1
0026 00000017 a0040000 ALU 2 @46
0046 000000f9 00000c90 5 x: MOV R0.x, 1.0 <=
-----
0048 800000f8 20000c90 y: MOV R0.y, 0 <=
-----
0028 00000002 81400000 LOOP_END @4
0030 c0000000 95200a44 EXPORT_DONE PIXEL 0 R0.0xy1 EOP
=3D=3D=3D=3D=3D SHADER_END
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
In short after the optimization R0.xy get the same values assigned in both
decision paths.=20
Best,=20
Gert