mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
gallium/pb_cache: check parameters that are more likely to fail first
This makes Bioshock Infinite with deferred flushing 2% faster. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
2596ae2b6e
commit
fec7f74129
1 changed files with 8 additions and 9 deletions
|
|
@ -114,25 +114,24 @@ static int
|
|||
pb_cache_is_buffer_compat(struct pb_cache_entry *entry,
|
||||
pb_size size, unsigned alignment, unsigned usage)
|
||||
{
|
||||
struct pb_cache *mgr = entry->mgr;
|
||||
struct pb_buffer *buf = entry->buffer;
|
||||
|
||||
if (usage & entry->mgr->bypass_usage)
|
||||
return 0;
|
||||
|
||||
if (buf->size < size)
|
||||
if (!pb_check_usage(usage, buf->usage))
|
||||
return 0;
|
||||
|
||||
/* be lenient with size */
|
||||
if (buf->size > (unsigned) (entry->mgr->size_factor * size))
|
||||
if (buf->size < size ||
|
||||
buf->size > (unsigned) (mgr->size_factor * size))
|
||||
return 0;
|
||||
|
||||
if (usage & mgr->bypass_usage)
|
||||
return 0;
|
||||
|
||||
if (!pb_check_alignment(alignment, buf->alignment))
|
||||
return 0;
|
||||
|
||||
if (!pb_check_usage(usage, buf->usage))
|
||||
return 0;
|
||||
|
||||
return entry->mgr->can_reclaim(buf) ? 1 : -1;
|
||||
return mgr->can_reclaim(buf) ? 1 : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue