<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Commit 2881b12 causes 43 DrawElements test regressions"
href="https://bugs.freedesktop.org/show_bug.cgi?id=88246">88246</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Commit 2881b12 causes 43 DrawElements test regressions
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Assignee</th>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>michael.w.mason@intel.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Environment:
Mesa: (master 934e41c0b31cffa4efc08f61cff2389e3149b3f3)
Ubuntu 14.04
Commit 2881b12 "i965: Use ~0 to represent true on all generations" causes
regressions on 43 DrawElments tests (see list below). All appear to be related
to boolean conversions.
dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar.int_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar.uint_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.int_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.int_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.int_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.uint_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.uint_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.scalar_to_vector.uint_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.ivec2_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.ivec3_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.ivec4_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.uvec2_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.uvec3_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_scalar.uvec4_to_bool_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec4_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec4_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec4_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec3_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec3_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.ivec2_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_to_vector.uvec2_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_int_int_int_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.uint_uint_uint_uint_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.vec2_ivec2_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_ivec2_int_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.float_uvec3_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_uvec2_bool_to_bvec4_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_int_int_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.uint_uint_uint_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.bool_float_int_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.bvec2_int_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.bool_ivec2_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.float_uvec2_to_bvec3_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_int_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.uint_uint_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.float_int_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_bool_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.int_uint_to_bvec2_vertex
dEQP-GLES3.functional.shaders.conversions.vector_combine.uint_float_to_bvec2_vertex
Analysis:
Bisect shows 2881b123d00562fee8b7d2b4f7825f89a73e0d9f is the first bad commit.
Author: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>
Date: Tue Dec 2 12:28:13 2014 -0800
i965: Use ~0 to represent true on all generations.
Jason realized that we could fix the result of the CMP instruction on
Gen <= 5 by doing -(result & 1). Also do the resolves in the vec4
backend before use, rather than when the bool was created. The FS does
this and it saves some unnecessary resolves.
On Ironlake:
total instructions in shared programs: 4289762 -> 4287277 (-0.06%)
instructions in affected programs: 619430 -> 616945 (-0.40%)
Reviewed-by: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>>
Steps to reproduce:
# ./deqp-gles3 --deqp-case=<test>
for each of the above listed tests.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>