<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [llvmpipe] piglit fbo-cubemap regression"
href="https://bugs.freedesktop.org/show_bug.cgi?id=64170">64170</a>
</td>
</tr>
<tr>
<th>Keywords</th>
<td>regression
</td>
</tr>
<tr>
<th>CC</th>
<td>sroland@vmware.com
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>[llvmpipe] piglit fbo-cubemap regression
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Reporter</th>
<td>vlee@freedesktop.org
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Component</th>
<td>Other
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr></table>
<p>
<div>
<pre>mesa: 573d8813fdbb116f4500d2044c56d80aab73ab7f (master)
$ ./bin/fbo-cubemap -auto
Probe at (8,51)
Expected: 1.000000 1.000000 0.000000
Observed: 0.000000 0.000000 1.000000
Probe at (74,51)
Expected: 1.000000 1.000000 1.000000
Observed: 1.000000 1.000000 0.000000
Probe at (140,51)
Expected: 0.000000 1.000000 0.000000
Observed: 1.000000 1.000000 1.000000
PIGLIT: {'result': 'fail' }
50cbcf0c4680bc13e63fe339ef79ed68b2f33c70 is the first bad commit
commit 50cbcf0c4680bc13e63fe339ef79ed68b2f33c70
Author: Roland Scheidegger <<a href="mailto:sroland@vmware.com">sroland@vmware.com</a>>
Date: Thu Apr 18 17:06:43 2013 +0200
gallivm: change cubemaps / derivatives handling, take 55
Turns out the previous "fix" for handling per-pixel face selection and
derivatives didn't work out that well - the derivatives were wrong by
quite a bit, in theory transformation of the derivatives into cube space
should work, but would be _a lot_ more work than the "simplified" transform
used.
So, for explicit derivatives, I'm just giving up and go back to not
honoring
them.
For implicit derivatives (and the fake explicit ones) however we try
something a little different, we just calculate rho as we would for a 3d
texture, that is after scaling the coords by the inverse major axis.
This gives the same results as calculating the derivs after projection of
the coords to the same face as long as all pixels hit the same face (and
only without rho_no_opt, otherwise it should be a bit worse). And when
not all pixels are hitting the same face, the results aren't so hot but
not catastrophically bad (I believe not off by more than a factor of 2
without
no_rho_approx and not more than sqrt(2) with no_rho_approx). I think this
is
better than just picking the wrong face but who knows...
Reviewed-by: Brian Paul <<a href="mailto:brianp@vmware.com">brianp@vmware.com</a>>
Reviewed-by: Jose Fonseca <<a href="mailto:jfonseca@vmware.com">jfonseca@vmware.com</a>>
:040000 040000 fe3e4cb2ef614d118ef371d2d5a35d244f3aec50
70a6ded69d9b16112ed33ae41ec0b5bd5aa74d5c 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>