[Bug 108311] Query buffer object support is broken on r600.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 awesie@gmail.com
QA Contact dri-devel@lists.freedesktop.org

Created attachment 141970 [details] [review]
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:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux