https://bugs.freedesktop.org/show_bug.cgi?id=108311

            Bug ID: 108311
           Summary: Query buffer object support is broken on r600.
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/r600
          Assignee: dri-devel@lists.freedesktop.org
          Reporter: awe...@gmail.com
        QA Contact: dri-devel@lists.freedesktop.org

Created attachment 141970
  --> https://bugs.freedesktop.org/attachment.cgi?id=141970&action=edit
Patch

After implementing support for query buffer objects in Wine, I got a bug report
about a regression on older AMD hardware
(https://bugs.winehq.org/show_bug.cgi?id=45946). The root cause was a bug in
the query buffer object support for r600 in Mesa.

As mentioned in the commit message for
1c9ea24a19a28e87f6038281c516287f25ad88b5, the r600 shader cannot address
non-256 aligned ssbos. While that commit fixed most buffer accesses, it failed
to fix ssbo[1], e.g. tmp_buffer. This led to random failures of the query
buffer shader depending on whether we got lucky (e.g. tmp_buffer_offset was a
multiple of 256) or not.

The fix is easy. Mask tmp_buffer_offset and add another constant for when we
access the tmp_buffer in the shader. Patch is attached.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to