radv: Try to do a better job of dealing with L2 coherent images.
Only try to invalidate L2 if we actually hit one of the incoherent images. Note we may actually insert some extra flushes at the end of a command buffer so that we may asume the caches are clean the start of the next command buffer. However, on average I think that case is uncommon enough that being able to make assumptions at the start of a cmdbuffer is beneficial. Especially since MSAA is somewhat rare in more recent games. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13239>
This commit is contained in:

committed by
Marge Bot

parent
64b237436a
commit
fd8210f27e
@@ -1357,6 +1357,9 @@ si_emit_cache_flush(struct radv_cmd_buffer *cmd_buffer)
|
||||
if (unlikely(cmd_buffer->device->trace_bo))
|
||||
radv_cmd_buffer_trace_emit(cmd_buffer);
|
||||
|
||||
if (cmd_buffer->state.flush_bits & RADV_CMD_FLAG_INV_L2)
|
||||
cmd_buffer->state.rb_noncoherent_dirty = false;
|
||||
|
||||
/* Clear the caches that have been flushed to avoid syncing too much
|
||||
* when there is some pending active queries.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user