summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/si_cmd_buffer.c
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2016-12-18 14:05:19 +0100
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2016-12-18 20:52:51 +0100
commit442735d35d6f2bbb7ef1e4c003025ddf02528e36 (patch)
treeae9f3a22761b49078fa5170cd146cd1f27da4a5a /src/amd/vulkan/si_cmd_buffer.c
parentf2523ebf52a4ed1e9a90ce527398d13ee493cb22 (diff)
radv: Only emit PFP ME syncs for DMA on the GFX queue.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/amd/vulkan/si_cmd_buffer.c')
-rw-r--r--src/amd/vulkan/si_cmd_buffer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c
index 4b2624cb8e..e3f883f50b 100644
--- a/src/amd/vulkan/si_cmd_buffer.c
+++ b/src/amd/vulkan/si_cmd_buffer.c
@@ -776,7 +776,7 @@ static void si_emit_cp_dma_copy_buffer(struct radv_cmd_buffer *cmd_buffer,
* indices. If we wanted to execute CP DMA in PFP, this packet
* should precede it.
*/
- if (sync_flag) {
+ if (sync_flag && cmd_buffer->queue_family_index == RADV_QUEUE_GENERAL) {
radeon_emit(cs, PKT3(PKT3_PFP_SYNC_ME, 0, 0));
radeon_emit(cs, 0);
}
@@ -816,7 +816,7 @@ static void si_emit_cp_dma_clear_buffer(struct radv_cmd_buffer *cmd_buffer,
}
/* See "copy_buffer" for explanation. */
- if (sync_flag) {
+ if (sync_flag && cmd_buffer->queue_family_index == RADV_QUEUE_GENERAL) {
radeon_emit(cs, PKT3(PKT3_PFP_SYNC_ME, 0, 0));
radeon_emit(cs, 0);
}