aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2020-03-14 01:02:00 -0700
committerMarge Bot <[email protected]>2020-06-22 22:32:03 +0000
commitc72832e83c6a811adc464c35285bdbb602e5f43b (patch)
tree992e688a26e6b0aa561dc2a001c16d29c2b2c0fa /src
parent8c36936832bb2af3edb5d4829e3a8d0a97812379 (diff)
anv: Make use of devinfo has_aux_map field
Reworks: * Use device rather than physical_device for info. (Lionel) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5572>
Diffstat (limited to 'src')
-rw-r--r--src/intel/vulkan/anv_device.c6
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c3
-rw-r--r--src/intel/vulkan/genX_state.c20
3 files changed, 16 insertions, 13 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 13492e4d553..f25d89a9165 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -2902,7 +2902,7 @@ VkResult anv_CreateDevice(
goto fail_surface_state_pool;
}
- if (device->info.gen >= 12) {
+ if (device->info.has_aux_map) {
device->aux_map_ctx = gen_aux_map_init(device, &aux_map_allocator,
&physical_device->info);
if (!device->aux_map_ctx)
@@ -3004,7 +3004,7 @@ VkResult anv_CreateDevice(
fail_workaround_bo:
anv_device_release_bo(device, device->workaround_bo);
fail_surface_aux_map_pool:
- if (device->info.gen >= 12) {
+ if (device->info.has_aux_map) {
gen_aux_map_finish(device->aux_map_ctx);
device->aux_map_ctx = NULL;
}
@@ -3076,7 +3076,7 @@ void anv_DestroyDevice(
if (device->info.gen >= 10)
anv_device_release_bo(device, device->hiz_clear_bo);
- if (device->info.gen >= 12) {
+ if (device->info.has_aux_map) {
gen_aux_map_finish(device->aux_map_ctx);
device->aux_map_ctx = NULL;
}
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 856ae2abf11..5eb05aae19e 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -1542,7 +1542,8 @@ genX(BeginCommandBuffer)(
* ensured that we have the table even if this command buffer doesn't
* initialize any images.
*/
- cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_AUX_TABLE_INVALIDATE_BIT;
+ if (cmd_buffer->device->info.has_aux_map)
+ cmd_buffer->state.pending_pipe_bits |= ANV_PIPE_AUX_TABLE_INVALIDATE_BIT;
/* We send an "Indirect State Pointers Disable" packet at
* EndCommandBuffer, so all push contant packets are ignored during a
diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c
index 316a56ab730..908c676a880 100644
--- a/src/intel/vulkan/genX_state.c
+++ b/src/intel/vulkan/genX_state.c
@@ -256,15 +256,17 @@ genX(init_device_state)(struct anv_device *device)
#endif
#if GEN_GEN == 12
- uint64_t aux_base_addr = gen_aux_map_get_base(device->aux_map_ctx);
- assert(aux_base_addr % (32 * 1024) == 0);
- anv_batch_emit(&batch, GENX(MI_LOAD_REGISTER_IMM), lri) {
- lri.RegisterOffset = GENX(GFX_AUX_TABLE_BASE_ADDR_num);
- lri.DataDWord = aux_base_addr & 0xffffffff;
- }
- anv_batch_emit(&batch, GENX(MI_LOAD_REGISTER_IMM), lri) {
- lri.RegisterOffset = GENX(GFX_AUX_TABLE_BASE_ADDR_num) + 4;
- lri.DataDWord = aux_base_addr >> 32;
+ if (device->info.has_aux_map) {
+ uint64_t aux_base_addr = gen_aux_map_get_base(device->aux_map_ctx);
+ assert(aux_base_addr % (32 * 1024) == 0);
+ anv_batch_emit(&batch, GENX(MI_LOAD_REGISTER_IMM), lri) {
+ lri.RegisterOffset = GENX(GFX_AUX_TABLE_BASE_ADDR_num);
+ lri.DataDWord = aux_base_addr & 0xffffffff;
+ }
+ anv_batch_emit(&batch, GENX(MI_LOAD_REGISTER_IMM), lri) {
+ lri.RegisterOffset = GENX(GFX_AUX_TABLE_BASE_ADDR_num) + 4;
+ lri.DataDWord = aux_base_addr >> 32;
+ }
}
#endif