[Mesa-dev] [Bug 109075] radv: New D3D boolean optimizations cause GPU hang in Witcher 3
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Dec 18 05:59:44 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=109075
--- Comment #3 from Timothy Arceri <t_arceri at yahoo.com.au> ---
Maybe getting stuck in a infinite loop?
There is a loop exit condition in the witcher where the optimise the following:
/* preds: block_3 */
vec2 32 ssa_114 = vec2 ssa_105, ssa_4
vec4 32 ssa_115 = txf ssa_95 (texture_deref), ssa_114 (coord),
ssa_4 (lod), 0 (sampler),
vec1 1 ssa_120 = flt ssa_115.x, ssa_93
vec1 1 ssa_121 = flt ssa_115.y, ssa_94
vec1 32 ssa_122 = b2i32 ssa_120
vec1 32 ssa_123 = ineg ssa_122
vec1 32 ssa_125 = b2i32 ssa_121
vec1 32 ssa_126 = ineg ssa_125
vec1 1 ssa_128 = flt ssa_93, ssa_115.z
vec1 1 ssa_129 = flt ssa_94, ssa_115.w
vec1 32 ssa_130 = b2i32 ssa_128
vec1 32 ssa_131 = ineg ssa_130
vec1 32 ssa_133 = b2i32 ssa_129
vec1 32 ssa_134 = ineg ssa_133
vec1 32 ssa_136 = iand ssa_123, ssa_131
vec1 32 ssa_137 = iand ssa_126, ssa_136
vec1 32 ssa_138 = iand ssa_134, ssa_137
vec1 1 ssa_139 = ine ssa_138, ssa_4
to:
vec2 32 ssa_87 = vec2 ssa_84, ssa_4
vec4 32 ssa_88 = txf ssa_82 (texture_deref), ssa_87 (coord),
ssa_4 (lod), 0 (sampler),
vec1 1 ssa_89 = flt ssa_88.x, ssa_80
vec1 1 ssa_90 = flt ssa_88.y, ssa_81
vec1 32 ssa_91 = b2i32 ssa_89
vec1 32 ssa_92 = ineg ssa_91
vec1 32 ssa_93 = b2i32 ssa_90
vec1 32 ssa_94 = ineg ssa_93
vec1 1 ssa_95 = flt ssa_80, ssa_88.z
vec1 1 ssa_96 = flt ssa_81, ssa_88.w
vec1 32 ssa_97 = b2i32 ssa_95
vec1 32 ssa_98 = ineg ssa_97
vec1 32 ssa_99 = b2i32 ssa_96
vec1 32 ssa_100 = ineg ssa_99
vec1 1 ssa_101 = iand ssa_89, ssa_95
vec1 32 ssa_102 = b2i32 ssa_101
vec1 32 ssa_103 = ineg ssa_102
vec1 32 ssa_104 = imov ssa_103
vec1 32 ssa_105 = b2f32 ssa_90
vec1 32 ssa_106 = imov ssa_105
vec1 32 ssa_107 = b2f32 ssa_96
vec1 32 ssa_108 = imov ssa_107
vec1 1 ssa_109 = ine ssa_108, ssa_4
Which ends up as:
vec2 32 ssa_71 = vec2 ssa_69, ssa_4
vec4 32 ssa_72 = txf ssa_67 (texture_deref), ssa_71 (coord),
ssa_4 (lod), 0 (sampler),
vec1 32 ssa_73 = flt32 ssa_66, ssa_72.w
vec1 32 ssa_74 = b2f32 ssa_73
vec1 32 ssa_75 = ine32 ssa_74, ssa_4
With the offending opt commented out we end up with:
vec2 32 ssa_76 = vec2 ssa_74, ssa_4
vec4 32 ssa_77 = txf ssa_72 (texture_deref), ssa_76 (coord),
ssa_4 (lod), 0 (sampler),
vec1 32 ssa_78 = flt32 ssa_77.x, ssa_70
vec1 32 ssa_79 = flt32 ssa_77.y, ssa_71
vec1 32 ssa_80 = flt32 ssa_70, ssa_77.z
vec1 32 ssa_81 = flt32 ssa_71, ssa_77.w
vec1 32 ssa_82 = iand ssa_78, ssa_80
vec1 32 ssa_83 = iand ssa_79, ssa_82
vec1 32 ssa_84 = iand ssa_81, ssa_83
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181218/cc082eff/attachment.html>
More information about the mesa-dev
mailing list