summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_batch_chain.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-10-17 09:14:48 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-10-17 17:41:35 -0700
commitac0ca066de654fd80a6f18c9c32555d7d91c0335 (patch)
tree1ce4135f1e16a71b9ca25460620e9d795b1096ba /src/intel/vulkan/anv_batch_chain.c
parent1c05f92590d9ad9bb0635b93b3a917f8d571596c (diff)
downloadexternal_mesa3d-ac0ca066de654fd80a6f18c9c32555d7d91c0335.zip
external_mesa3d-ac0ca066de654fd80a6f18c9c32555d7d91c0335.tar.gz
external_mesa3d-ac0ca066de654fd80a6f18c9c32555d7d91c0335.tar.bz2
anv/cmd_buffer: Move state base address re-emit into ExecuteCommands
This has two primary advantages. First, it means that the batch_chain code knows less about the actual command buffer contents which is good because improves separation. Second, it means that it only gets re-emitted once after all of the secondaries instead of once after each secondary which is just wasteful. It also has the advantage of cleaning the code up a bit. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Diffstat (limited to 'src/intel/vulkan/anv_batch_chain.c')
-rw-r--r--src/intel/vulkan/anv_batch_chain.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c
index a98a0a9..95854f4 100644
--- a/src/intel/vulkan/anv_batch_chain.c
+++ b/src/intel/vulkan/anv_batch_chain.c
@@ -777,7 +777,6 @@ anv_cmd_buffer_add_secondary(struct anv_cmd_buffer *primary,
switch (secondary->exec_mode) {
case ANV_CMD_BUFFER_EXEC_MODE_EMIT:
anv_batch_emit_batch(&primary->batch, &secondary->batch);
- anv_cmd_buffer_emit_state_base_address(primary);
break;
case ANV_CMD_BUFFER_EXEC_MODE_GROW_AND_EMIT: {
struct anv_batch_bo *bbo = anv_cmd_buffer_current_batch_bo(primary);
@@ -785,7 +784,6 @@ anv_cmd_buffer_add_secondary(struct anv_cmd_buffer *primary,
anv_batch_bo_grow(primary, bbo, &primary->batch, length,
GEN8_MI_BATCH_BUFFER_START_length * 4);
anv_batch_emit_batch(&primary->batch, &secondary->batch);
- anv_cmd_buffer_emit_state_base_address(primary);
break;
}
case ANV_CMD_BUFFER_EXEC_MODE_CHAIN: {
@@ -826,8 +824,6 @@ anv_cmd_buffer_add_secondary(struct anv_cmd_buffer *primary,
p += CACHELINE_SIZE;
}
}
-
- anv_cmd_buffer_emit_state_base_address(primary);
break;
}
case ANV_CMD_BUFFER_EXEC_MODE_COPY_AND_CHAIN: {
@@ -851,8 +847,6 @@ anv_cmd_buffer_add_secondary(struct anv_cmd_buffer *primary,
anv_batch_bo_continue(last_bbo, &primary->batch,
GEN8_MI_BATCH_BUFFER_START_length * 4);
-
- anv_cmd_buffer_emit_state_base_address(primary);
break;
}
default: