<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>