diff --git a/.pick_status.json b/.pick_status.json index 4c36dcbe881..abef4812b9c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2488,7 +2488,7 @@ "description": "radv: don't emit event code on video queues.", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 2afc68e2583..f46a2503d9b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -10610,6 +10610,9 @@ write_event(struct radv_cmd_buffer *cmd_buffer, struct radv_event *event, struct radeon_cmdbuf *cs = cmd_buffer->cs; uint64_t va = radv_buffer_get_va(event->bo); + if (cmd_buffer->qf == RADV_QUEUE_VIDEO_DEC) + return; + si_emit_cache_flush(cmd_buffer); radv_cs_add_buffer(cmd_buffer->device->ws, cs, event->bo); @@ -10719,6 +10722,9 @@ radv_CmdWaitEvents2(VkCommandBuffer commandBuffer, uint32_t eventCount, const Vk RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); struct radeon_cmdbuf *cs = cmd_buffer->cs; + if (cmd_buffer->qf == RADV_QUEUE_VIDEO_DEC) + return; + for (unsigned i = 0; i < eventCount; ++i) { RADV_FROM_HANDLE(radv_event, event, pEvents[i]); uint64_t va = radv_buffer_get_va(event->bo);