summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe/p_config.h
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2018-01-09 01:38:27 +0100
committerRoland Scheidegger <[email protected]>2018-01-10 04:59:00 +0100
commit7c0bc495f1e467562c4b47da1c2821fd323a45b1 (patch)
tree3c1aac2a2a42c15650d5aec9d7a9fb7e2cc52e7e /src/gallium/include/pipe/p_config.h
parent762ccf483aa0f5f853e75c886d49c4025cebaf00 (diff)
r600: fix enabled_rb_mask on eg/cm
For eg/cm, the r600_gb_backend_map will always be 0. This is a bug in the drm kernel driver, as it just just never fills the information in (it is now being fixed - the history shows it was being filled in when the query was brand new but got lost shortly thereafter with backend_map fixes). This causes r600_query_hw_prepare_buffer to write the "status bit" (just the highest bit of the occlusion query result) even for active rbes (all but the first). This doesn't make much sense, albeit I suppose it's mostly safe. According to the commit history, it's necessary to set these bits for inactive rbes since otherwise predication will lock up - presumably the hw just is waiting for the status bit to appear, which will never happen with inactive rbes. I'd guess potentially predication could be wrong (due to not waiting for the actual result if the status bit is already there) if this is set for active rbes. Discovered while trying to fix predication lockups on Juniper (needs another patch). Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe/p_config.h')
0 files changed, 0 insertions, 0 deletions