mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 15:50:17 +01:00
anv: Re-capture all batch and state buffers
When we moved from allocating BOs directly to using the BO cache, we lost the EXEC_OBJECT_CAPTURE flag on all our state buffers. Fixes:3119b96bdf"anv: Allocate block pool BOs from the cache" Fixes:ee77938733"anv: Allocate batch and fence buffers from..." Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
parent
865ffe4e02
commit
bce1c3c668
1 changed files with 3 additions and 6 deletions
|
|
@ -487,14 +487,10 @@ anv_block_pool_expand_range(struct anv_block_pool *pool,
|
|||
* hard work for us. When using softpin, we're in control and the fixed
|
||||
* addresses we choose are fine for base addresses.
|
||||
*/
|
||||
enum anv_bo_alloc_flags bo_alloc_flags = 0;
|
||||
enum anv_bo_alloc_flags bo_alloc_flags = ANV_BO_ALLOC_CAPTURE;
|
||||
if (!pool->use_softpin)
|
||||
bo_alloc_flags |= ANV_BO_ALLOC_32BIT_ADDRESS;
|
||||
|
||||
uint64_t bo_flags = 0;
|
||||
if (pool->device->instance->physicalDevice.has_exec_capture)
|
||||
bo_flags |= EXEC_OBJECT_CAPTURE;
|
||||
|
||||
if (pool->use_softpin) {
|
||||
uint32_t new_bo_size = size - pool->size;
|
||||
struct anv_bo *new_bo;
|
||||
|
|
@ -1315,7 +1311,8 @@ anv_bo_pool_alloc(struct anv_bo_pool *pool, uint32_t size,
|
|||
VkResult result = anv_device_alloc_bo(pool->device,
|
||||
pow2_size,
|
||||
ANV_BO_ALLOC_MAPPED |
|
||||
ANV_BO_ALLOC_SNOOPED,
|
||||
ANV_BO_ALLOC_SNOOPED |
|
||||
ANV_BO_ALLOC_CAPTURE,
|
||||
0 /* explicit_address */,
|
||||
&bo);
|
||||
if (result != VK_SUCCESS)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue