mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 14:50:10 +01:00
anv/gen12: Initialize aux map context
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
0d0290bb3f
commit
d4a3299ba1
2 changed files with 22 additions and 2 deletions
|
|
@ -43,7 +43,7 @@
|
|||
#include "util/xmlpool.h"
|
||||
#include "git_sha1.h"
|
||||
#include "vk_util.h"
|
||||
#include "common/gen_buffer_alloc.h"
|
||||
#include "common/gen_aux_map.h"
|
||||
#include "common/gen_defines.h"
|
||||
#include "compiler/glsl_types.h"
|
||||
|
||||
|
|
@ -2655,9 +2655,16 @@ VkResult anv_CreateDevice(
|
|||
goto fail_surface_state_pool;
|
||||
}
|
||||
|
||||
if (device->info.gen >= 12) {
|
||||
device->aux_map_ctx = gen_aux_map_init(device, &aux_map_allocator,
|
||||
&physical_device->info);
|
||||
if (!device->aux_map_ctx)
|
||||
goto fail_binding_table_pool;
|
||||
}
|
||||
|
||||
result = anv_bo_init_new(&device->workaround_bo, device, 4096);
|
||||
if (result != VK_SUCCESS)
|
||||
goto fail_binding_table_pool;
|
||||
goto fail_surface_aux_map_pool;
|
||||
|
||||
if (physical_device->use_softpin)
|
||||
device->workaround_bo.flags |= EXEC_OBJECT_PINNED;
|
||||
|
|
@ -2721,6 +2728,11 @@ VkResult anv_CreateDevice(
|
|||
anv_scratch_pool_finish(device, &device->scratch_pool);
|
||||
anv_gem_munmap(device->workaround_bo.map, device->workaround_bo.size);
|
||||
anv_gem_close(device, device->workaround_bo.gem_handle);
|
||||
fail_surface_aux_map_pool:
|
||||
if (device->info.gen >= 12) {
|
||||
gen_aux_map_finish(device->aux_map_ctx);
|
||||
device->aux_map_ctx = NULL;
|
||||
}
|
||||
fail_binding_table_pool:
|
||||
if (physical_device->use_softpin)
|
||||
anv_state_pool_finish(&device->binding_table_pool);
|
||||
|
|
@ -2789,6 +2801,11 @@ void anv_DestroyDevice(
|
|||
if (device->info.gen >= 10)
|
||||
anv_gem_close(device, device->hiz_clear_bo.gem_handle);
|
||||
|
||||
if (device->info.gen >= 12) {
|
||||
gen_aux_map_finish(device->aux_map_ctx);
|
||||
device->aux_map_ctx = NULL;
|
||||
}
|
||||
|
||||
if (physical_device->use_softpin)
|
||||
anv_state_pool_finish(&device->binding_table_pool);
|
||||
anv_state_pool_finish(&device->surface_state_pool);
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ struct anv_buffer_view;
|
|||
struct anv_image_view;
|
||||
struct anv_instance;
|
||||
|
||||
struct gen_aux_map_context;
|
||||
struct gen_l3_config;
|
||||
struct gen_perf_config;
|
||||
|
||||
|
|
@ -1174,6 +1175,8 @@ struct anv_device {
|
|||
|
||||
int perf_fd; /* -1 if no opened */
|
||||
uint64_t perf_metric; /* 0 if unset */
|
||||
|
||||
struct gen_aux_map_context *aux_map_ctx;
|
||||
};
|
||||
|
||||
static inline struct anv_state_pool *
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue