<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:samuel.pitoiset@gmail.com" title="Samuel Pitoiset <samuel.pitoiset@gmail.com>"> <span class="fn">Samuel Pitoiset</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - Tomb Raider with PostProcessing enable and Depth of Field set to Ultra has white stuff in the foreground"
href="https://bugs.freedesktop.org/show_bug.cgi?id=95190">bug 95190</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;">Severity</td>
<td>normal
</td>
<td>major
</td>
</tr>
<tr>
<td style="text-align:right;">Component</td>
<td>Drivers/DRI/nouveau
</td>
<td>glsl-compiler
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>kenneth@whitecape.org, samuel.pitoiset@gmail.com
</td>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>nouveau@lists.freedesktop.org
</td>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<td style="text-align:right;">QA Contact</td>
<td>nouveau@lists.freedesktop.org
</td>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Tomb Raider with PostProcessing enable and Depth of Field set to Ultra has white stuff in the foreground"
href="https://bugs.freedesktop.org/show_bug.cgi?id=95190#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Tomb Raider with PostProcessing enable and Depth of Field set to Ultra has white stuff in the foreground"
href="https://bugs.freedesktop.org/show_bug.cgi?id=95190">bug 95190</a>
from <span class="vcard"><a class="email" href="mailto:samuel.pitoiset@gmail.com" title="Samuel Pitoiset <samuel.pitoiset@gmail.com>"> <span class="fn">Samuel Pitoiset</span></a>
</span></b>
<pre>So, the issue is that the count_uniforms_size pass which is used to calculate
the storage requirements for a set of uniform has a bug for constant arrays.
The problem is that the pass aggregates the size of a constant array each time
it finds a reference in the shader source.
For example, in the attached shader, the lowering pass returns 95484k of
uniforms but it should be 1308k (327*4) (+ some other things). The 95484 is
computed as follow: 327 * 4 * 73 (number of occurences of icb in the shader).
I had a look at the code, and I think that the correct solution should be to do
this lowering pass only once for constant arrays (this will require to somehow
remember which one has been lowered though).
Ken, can you look into this?
Thanks in advance.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>