anv: implement VK_EXT_pipeline_creation_feedback
An extension reporting cache hit in the user supplied pipeline cache as well as timing information for creating the pipelines & stages. v2: Don't consider no cache for cache hits (Jason) Rework duration accumulation (Jason) v3: Fold feedback creation writing into pipeline compile functions (Jason/Lionel) v4: Get cache hit information from anv_device_search_for_kernel() (Jason) Only set cache hit from the whole pipeline if all stages also have that bit (Lionel) v5: Always user_cache_hit in anv_device_search_for_kernel() (Jason) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -611,14 +611,19 @@ VkResult anv_MergePipelineCaches(
|
||||
struct anv_shader_bin *
|
||||
anv_device_search_for_kernel(struct anv_device *device,
|
||||
struct anv_pipeline_cache *cache,
|
||||
const void *key_data, uint32_t key_size)
|
||||
const void *key_data, uint32_t key_size,
|
||||
bool *user_cache_hit)
|
||||
{
|
||||
struct anv_shader_bin *bin;
|
||||
|
||||
*user_cache_hit = false;
|
||||
|
||||
if (cache) {
|
||||
bin = anv_pipeline_cache_search(cache, key_data, key_size);
|
||||
if (bin)
|
||||
if (bin) {
|
||||
*user_cache_hit = true;
|
||||
return bin;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef ENABLE_SHADER_CACHE
|
||||
|
Reference in New Issue
Block a user