<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] piglit gl-1.0-dlist-beginend failure with llvm-3.6.0svn"
href="https://bugs.freedesktop.org/show_bug.cgi?id=85467">bug 85467</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;">Assignee</td>
<td>mesa-dev@lists.freedesktop.org
</td>
<td>sroland@vmware.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] piglit gl-1.0-dlist-beginend failure with llvm-3.6.0svn"
href="https://bugs.freedesktop.org/show_bug.cgi?id=85467#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [llvmpipe] piglit gl-1.0-dlist-beginend failure with llvm-3.6.0svn"
href="https://bugs.freedesktop.org/show_bug.cgi?id=85467">bug 85467</a>
from <span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span></b>
<pre>$ GALLIUM_TRACE=gl-1.0-dlist-beginend.gtrace ./bin/gl-1.0-dlist-beginend -auto
$ vim gl-1.0-dlist-beginend.gtrace # manually add the </call> and </trace> tags
$ python mesa/src/gallium/tools/trace/dump_state.py -d 1
gl-1.0-dlist-beginend.gtrace
[...]
"vertex_buffers": [
{
"buffer": {
"array_size": 1,
"bind": 16,
"data": [
"000000000000803f000000000000803f",
"000080bf000080bf000000000000803f",
"000000000000803f0000803f000080bf",
"000000000000803f000000000000803f",
"0000803f0000803f000000000000803f",
"000000000000803f000080bf0000803f",
[...]
],
"depth": 1,
"flags": 0,
"height": 1,
"last_level": 0,
"nr_samples": 1,
"target": 0,
"usage": 3,
"width": 65536
},
"buffer_offset": 0,
"stride": 24, <===========================
"user_buffer": null
}
],
"vertex_elements": [
{
"src_format": "PIPE_FORMAT_R32G32_FLOAT",
"src_offset": 16,
"vertex_buffer_index": 0
},
{
"src_format": "PIPE_FORMAT_R32G32B32A32_FLOAT",
<===================== but llvmpipe/draw/gallivm is probably generating code
that assumes this attribute is 16-byte aligned...
"src_offset": 0,
"vertex_buffer_index": 0
}
],
In short:
- vertex stride is not multiple of 16bytes
- but llvmpipe/draw/gallivm is probably generating code that assumes that the
R32G32B32A32_FLOAT attribute is 16-byte aligned...
I think the bug is draw llvm code -- it can't assume that vertex elements are
16byte aligned.
In face, unless it advertises TRUE to
PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY
PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY
PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY
it shouldn't even assume it's 4-byte aligned. (And BTW, llvpipe should probably
advertise TRUE for these.)</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>