<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:vlee@freedesktop.org" title="Vinson Lee <vlee@freedesktop.org>"> <span class="fn">Vinson Lee</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - si_shader.c:6612:26: error: implicit declaration of function ‘LLVMGetCalledValue’ [-Werror=implicit-function-declaration]"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98336">bug 98336</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Keywords</td>
<td>
</td>
<td>bisected
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>edmondo@eriadon.com, maraeo@gmail.com, nhaehnle@gmail.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - si_shader.c:6612:26: error: implicit declaration of function ‘LLVMGetCalledValue’ [-Werror=implicit-function-declaration]"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98336#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - si_shader.c:6612:26: error: implicit declaration of function ‘LLVMGetCalledValue’ [-Werror=implicit-function-declaration]"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98336">bug 98336</a>
from <span class="vcard"><a class="email" href="mailto:vlee@freedesktop.org" title="Vinson Lee <vlee@freedesktop.org>"> <span class="fn">Vinson Lee</span></a>
</span></b>
<pre>3ec9975555d1cc5365413ad9062f412904f944a3 is the first bad commit
commit 3ec9975555d1cc5365413ad9062f412904f944a3
Author: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>>
Date: Tue Oct 18 15:20:22 2016 +0200
radeonsi: eliminate trivial constant VS outputs
These constant value VS PARAM exports:
- 0,0,0,0
- 0,0,0,1
- 1,1,1,0
- 1,1,1,1
can be loaded into PS inputs using the DEFAULT_VAL field, and the VS
exports
can be removed from the IR to save export & parameter memory.
After LLVM optimizations, analyze the IR to see which exports are equal to
the ones listed above (or undef) and remove them if they are.
Targeted use cases:
- All DX9 eON ports always clear 10 VS outputs to 0.0 even if most of them
are unused by PS (such as Witcher 2 below).
- VS output arrays with unused elements that the GLSL compiler can't
eliminate (such as Batman below).
The shader-db deltas are quite interesting:
(not from upstream si-report.py, it won't be upstreamed)
PERCENTAGE DELTAS Shaders PARAM exports (affected only)
batman_arkham_origins 589 -67.17 %
bioshock-infinite 1769 -0.47 %
dirt-showdown 548 -2.68 %
dota2 1747 -3.36 %
f1-2015 776 -4.94 %
left_4_dead_2 1762 -0.07 %
metro_2033_redux 2670 -0.43 %
portal 474 -0.22 %
talos_principle 324 -3.63 %
warsow 176 -2.20 %
witcher2 1040 -73.78 %
----------------------------------------
All affected 991 -65.37 % ... 9681 -> 3353
----------------------------------------
Total 26725 -10.82 % ... 58490 -> 52162
v2: treat Undef as both 0 and 1
Reviewed-by: Nicolai Hähnle <<a href="mailto:nicolai.haehnle@amd.com">nicolai.haehnle@amd.com</a>> (v1)
Tested-by: Edmondo Tommasina <<a href="mailto:edmondo.tommasina@gmail.com">edmondo.tommasina@gmail.com</a>> (v1)
:040000 040000 88f390ac9053318d6ab558e7e82b9d03f7435711
7bd48a7dfa3843fa64a5c41bbc60d181b44ee15c M src
bisect run success</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>