OSDN Git Service

radv: Allocate cmdbuffer space for buffer marker write.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 25 Nov 2019 22:58:04 +0000 (23:58 +0100)
committerDylan Baker <dylan@pnwbakers.com>
Wed, 27 Nov 2019 00:43:04 +0000 (16:43 -0800)
Fixes: 946193ae008 "radv: add support for VK_AMD_buffer_marker"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 25bc9102d89f4390e0edc0a5f09fcde9de80f776)

src/amd/vulkan/radv_cmd_buffer.c

index 9211eee..75e01b6 100644 (file)
@@ -6184,6 +6184,8 @@ void radv_CmdWriteBufferMarkerAMD(
 
        si_emit_cache_flush(cmd_buffer);
 
+       ASSERTED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, 12);
+
        if (!(pipelineStage & ~VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT)) {
                radeon_emit(cs, PKT3(PKT3_COPY_DATA, 4, 0));
                radeon_emit(cs, COPY_DATA_SRC_SEL(COPY_DATA_IMM) |
@@ -6203,4 +6205,6 @@ void radv_CmdWriteBufferMarkerAMD(
                                           va, marker,
                                           cmd_buffer->gfx9_eop_bug_va);
        }
+
+       assert(cmd_buffer->cs->cdw <= cdw_max);
 }