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