summaryrefslogtreecommitdiffstats
path: root/doxygen
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2018-01-09 03:28:45 +0100
committerRoland Scheidegger <[email protected]>2018-01-10 04:59:00 +0100
commit76baf997371dc8678cbea51fe5d4651aa59af741 (patch)
treed7359f4a1730a4587fe6852ee8a8d685be6e7400 /doxygen
parentf0dd1b36126ceff8726797f40f56defbf5f82e2c (diff)
r600: hack up num_render_backends on Juniper to 8
Juniper really has a maximum of 4 RBEs (16 pixels). However, predication always locks up on my HD 5750, and through experiments it looks like if we're pretending it has a maximum of 8, with 4 disabled, it works correctly. My conclusion would be that there's a bug (likely firmware, not hw) which causes the predication logic to try to read 8 results out of the query buffer instead of just 4, and since of course noone ever writes the upper 4, the status bit is never set and hence it will wait for it forever. Ideally this would be fixed in firmware, but I'd guess chances of that happening are slim. This will double the size of (occlusion) query result buffers, write the status bit for the disabled rbs in these buffers, and will also add 8 results together instead of just 4 when reading them back. The latter is unnecessary, but it's probably not worth bothering - luckily num_render_backends isn't used outside of occlusion queries, so don't need separate value for the "real" maximum. Also print out the enabled_rb_mask if it changed from the pre-fixed value (which is already printed out), just in case there's some more problems with chips which have some rbs disabled... This fixes all the lockups with piglit nv_conditional_render tests on my HD 5750 (all pass). Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'doxygen')
0 files changed, 0 insertions, 0 deletions