From 81840130c0f147ed6ae4c26872c2f04a2167bc54 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 14 Mar 2017 18:02:41 -0700 Subject: anv/query: Invalidate the correct range Reviewed-By: Lionel Landwerlin Cc: "17.0 13.0" --- src/intel/vulkan/genX_query.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c index 4e6638a0aeb..72ac2cb6774 100644 --- a/src/intel/vulkan/genX_query.c +++ b/src/intel/vulkan/genX_query.c @@ -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) { -- cgit v1.2.3