anv/query: Invalidate the correct range

Reviewed-By: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: "17.0 13.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
Jason Ekstrand 2017-03-14 18:02:41 -07:00
parent 4bbb4b95b8
commit 81840130c0

View file

@ -132,8 +132,12 @@ VkResult genX(GetQueryPoolResults)(
void *data_end = pData + dataSize;
struct anv_query_pool_slot *slot = pool->bo.map;
if (!device->info.has_llc)
anv_invalidate_range(slot, MIN2(queryCount * sizeof(*slot), pool->bo.size));
if (!device->info.has_llc) {
uint64_t offset = firstQuery * sizeof(*slot);
uint64_t size = queryCount * sizeof(*slot);
anv_invalidate_range(pool->bo.map + offset,
MIN2(size, pool->bo.size - offset));
}
for (uint32_t i = 0; i < queryCount; i++) {
switch (pool->type) {