vk_query_cache: Hack counter destructor to avoid reserving queries
This is a hack to destroy all HostCounter instances before the base class destructor is called. The query cache should be redesigned to have a proper ownership model instead of using shared pointers. For now, destroy the host counter hierarchy from the derived class destructor.
This commit is contained in:
		
							parent
							
								
									58b0ae84b5
								
							
						
					
					
						commit
						4f5bbe56ba
					
				| @ -76,7 +76,16 @@ VKQueryCache::VKQueryCache(VideoCore::RasterizerInterface& rasterizer, | ||||
|                                                           QueryType::SamplesPassed}, | ||||
|                                             } {} | ||||
| 
 | ||||
| VKQueryCache::~VKQueryCache() = default; | ||||
| VKQueryCache::~VKQueryCache() { | ||||
|     // TODO(Rodrigo): This is a hack to destroy all HostCounter instances before the base class
 | ||||
|     // destructor is called. The query cache should be redesigned to have a proper ownership model
 | ||||
|     // instead of using shared pointers.
 | ||||
|     for (size_t query_type = 0; query_type < VideoCore::NumQueryTypes; ++query_type) { | ||||
|         auto& stream = Stream(static_cast<QueryType>(query_type)); | ||||
|         stream.Update(false); | ||||
|         stream.Reset(); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| std::pair<VkQueryPool, u32> VKQueryCache::AllocateQuery(QueryType type) { | ||||
|     return query_pools[static_cast<std::size_t>(type)].Commit(); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 ReinUsesLisp
						ReinUsesLisp