diff --git a/src/nouveau/vulkan/nvk_cmd_blit.c b/src/nouveau/vulkan/nvk_cmd_blit.c index 5ac55fdcf38..48a579d4069 100644 --- a/src/nouveau/vulkan/nvk_cmd_blit.c +++ b/src/nouveau/vulkan/nvk_cmd_blit.c @@ -21,7 +21,7 @@ nvk_CmdBlitImage2(VkCommandBuffer commandBuffer, VK_FROM_HANDLE(nvk_image, src, pBlitImageInfo->srcImage); VK_FROM_HANDLE(nvk_image, dst, pBlitImageInfo->dstImage); - struct nv_push *p = P_SPACE(cmd->push, 16); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 16); assert(nvk_get_format(src->vk.format)->supports_2d_blit); assert(nvk_get_format(dst->vk.format)->supports_2d_blit); @@ -69,7 +69,7 @@ nvk_CmdBlitImage2(VkCommandBuffer commandBuffer, for (unsigned r = 0; r < pBlitImageInfo->regionCount; r++) { const VkImageBlit2 *region = &pBlitImageInfo->pRegions[r]; - p = P_SPACE(cmd->push, 30 + region->srcSubresource.layerCount * 10); + p = nvk_cmd_buffer_push(cmd, 30 + region->srcSubresource.layerCount * 10); unsigned x_i = region->dstOffsets[0].x < region->dstOffsets[1].x ? 0 : 1; unsigned y_i = region->dstOffsets[0].y < region->dstOffsets[1].y ? 0 : 1; diff --git a/src/nouveau/vulkan/nvk_cmd_buffer.c b/src/nouveau/vulkan/nvk_cmd_buffer.c index 3fc6f9c606a..14bf07e0566 100644 --- a/src/nouveau/vulkan/nvk_cmd_buffer.c +++ b/src/nouveau/vulkan/nvk_cmd_buffer.c @@ -202,7 +202,7 @@ nvk_BeginCommandBuffer(VkCommandBuffer commandBuffer, nvk_reset_cmd_buffer(&cmd->vk, 0); /* Start with a nop so we have at least something to submit */ - struct nv_push *p = P_SPACE(cmd->push, 2); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 2); P_MTHD(p, NV90B5, NOP); P_NV90B5_NOP(p, 0); diff --git a/src/nouveau/vulkan/nvk_cmd_buffer.h b/src/nouveau/vulkan/nvk_cmd_buffer.h index e7d02be391b..b5b777c906c 100644 --- a/src/nouveau/vulkan/nvk_cmd_buffer.h +++ b/src/nouveau/vulkan/nvk_cmd_buffer.h @@ -116,6 +116,13 @@ nvk_cmd_buffer_device(struct nvk_cmd_buffer *cmd) return (struct nvk_device *)cmd->vk.base.device; } + +static inline struct nv_push * +nvk_cmd_buffer_push(struct nvk_cmd_buffer *cmd, uint32_t dw_count) +{ + return P_SPACE(cmd->push, dw_count); +} + void nvk_cmd_buffer_begin_graphics(struct nvk_cmd_buffer *cmd, const VkCommandBufferBeginInfo *pBeginInfo); void nvk_cmd_buffer_begin_compute(struct nvk_cmd_buffer *cmd, diff --git a/src/nouveau/vulkan/nvk_cmd_clear.c b/src/nouveau/vulkan/nvk_cmd_clear.c index 06fa471cded..4c3cd0aac04 100644 --- a/src/nouveau/vulkan/nvk_cmd_clear.c +++ b/src/nouveau/vulkan/nvk_cmd_clear.c @@ -58,7 +58,7 @@ emit_clear_rects(struct nvk_cmd_buffer *cmd, { struct nvk_rendering_state *render = &cmd->state.gfx.render; - struct nv_push *p = P_SPACE(cmd->push, rect_count * 6); + struct nv_push *p = nvk_cmd_buffer_push(cmd, rect_count * 6); for (uint32_t r = 0; r < rect_count; r++) { P_MTHD(p, NV9097, SET_CLEAR_RECT_HORIZONTAL); @@ -115,7 +115,7 @@ nvk_CmdClearAttachments(VkCommandBuffer commandBuffer, const VkClearRect *pRects) { VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer); - struct nv_push *p = P_SPACE(cmd->push, 2 + attachmentCount * 4); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 2 + attachmentCount * 4); P_IMMD(p, NV9097, SET_CLEAR_SURFACE_CONTROL, { .respect_stencil_mask = RESPECT_STENCIL_MASK_FALSE, @@ -147,7 +147,7 @@ nvk_CmdClearAttachments(VkCommandBuffer commandBuffer, continue; VkClearColorValue color = pAttachments[i].clearValue.color; - p = P_SPACE(cmd->push, 5); + p = nvk_cmd_buffer_push(cmd, 5); P_MTHD(p, NV9097, SET_COLOR_CLEAR_VALUE(0)); P_NV9097_SET_COLOR_CLEAR_VALUE(p, 0, color.uint32[0]); diff --git a/src/nouveau/vulkan/nvk_cmd_copy.c b/src/nouveau/vulkan/nvk_cmd_copy.c index 10d05c3334a..583113c68f0 100644 --- a/src/nouveau/vulkan/nvk_cmd_copy.c +++ b/src/nouveau/vulkan/nvk_cmd_copy.c @@ -144,7 +144,7 @@ nouveau_copy_rect(struct nvk_cmd_buffer *cmd, struct nouveau_copy *copy) { uint32_t src_bw, dst_bw; if (copy->remap.comp_size > 0) { - struct nv_push *p = P_SPACE(cmd->push, 2); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 2); assert(copy->src.bpp % copy->remap.comp_size == 0); assert(copy->dst.bpp % copy->remap.comp_size == 0); @@ -192,7 +192,7 @@ nouveau_copy_rect(struct nvk_cmd_buffer *cmd, struct nouveau_copy *copy) } for (unsigned z = 0; z < copy->extent_el.depth; z++) { - struct nv_push *p = P_SPACE(cmd->push, 31); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 31); P_MTHD(p, NV90B5, OFFSET_IN_UPPER); P_NV90B5_OFFSET_IN_UPPER(p, src_addr >> 32); @@ -299,7 +299,7 @@ nvk_CmdCopyBuffer2(VkCommandBuffer commandBuffer, uint64_t size = region->size; while (size) { - struct nv_push *p = P_SPACE(cmd->push, 10); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); P_MTHD(p, NV90B5, OFFSET_IN_UPPER); P_NV90B5_OFFSET_IN_UPPER(p, src_addr >> 32); @@ -547,7 +547,7 @@ nvk_CmdFillBuffer(VkCommandBuffer commandBuffer, uint32_t pitch = 1 << 19; uint32_t line = pitch / 4; - struct nv_push *p = P_SPACE(cmd->push, 33); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 33); P_IMMD(p, NV902D, SET_OPERATION, V_SRCCOPY); @@ -622,7 +622,7 @@ nvk_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkDeviceSize dst_addr = nvk_buffer_address(dst, 0); - struct nv_push *p = P_SPACE(cmd->push, 26 + dataSize / 4); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 26 + dataSize / 4); P_IMMD(p, NV902D, SET_OPERATION, V_SRCCOPY); diff --git a/src/nouveau/vulkan/nvk_cmd_dispatch.c b/src/nouveau/vulkan/nvk_cmd_dispatch.c index 1c5c647e491..13a85922334 100644 --- a/src/nouveau/vulkan/nvk_cmd_dispatch.c +++ b/src/nouveau/vulkan/nvk_cmd_dispatch.c @@ -101,7 +101,7 @@ nvk_CmdDispatch(VkCommandBuffer commandBuffer, return; } - struct nv_push *p = P_SPACE(cmd->push, 6); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_MTHD(p, NVA0C0, INVALIDATE_SHADER_CACHES_NO_WFI); P_NVA0C0_INVALIDATE_SHADER_CACHES_NO_WFI(p, { diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index 86c4b303928..30f318d8e08 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -381,7 +381,7 @@ nvk_CmdBeginRendering(VkCommandBuffer commandBuffer, { VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer); struct nvk_rendering_state *render = &cmd->state.gfx.render; - struct nv_push *p = P_SPACE(cmd->push, 23 + pRenderingInfo->colorAttachmentCount * 10); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 23 + pRenderingInfo->colorAttachmentCount * 10); memset(render, 0, sizeof(*render)); @@ -612,7 +612,7 @@ nvk_cmd_bind_graphics_pipeline(struct nvk_cmd_buffer *cmd, cmd->state.gfx.pipeline = pipeline; vk_cmd_set_dynamic_graphics_state(&cmd->vk, &pipeline->dynamic); - struct nv_push *p = P_SPACE(cmd->push, pipeline->push_dw_count); + struct nv_push *p = nvk_cmd_buffer_push(cmd, pipeline->push_dw_count); nv_push_raw(p, pipeline->push_data, pipeline->push_dw_count); } @@ -624,7 +624,7 @@ nvk_flush_vi_state(struct nvk_cmd_buffer *cmd) const struct vk_dynamic_graphics_state *dyn = &cmd->vk.dynamic_graphics_state; - struct nv_push *p = P_SPACE(cmd->push, 256); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 256); if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_VI)) { u_foreach_bit(a, dyn->vi->attributes_valid) { @@ -668,7 +668,7 @@ nvk_flush_ia_state(struct nvk_cmd_buffer *cmd) /** Nothing to do for MESA_VK_DYNAMIC_IA_PRIMITIVE_TOPOLOGY */ if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_IA_PRIMITIVE_RESTART_ENABLE)) { - struct nv_push *p = P_SPACE(cmd->push, 2); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 2); P_IMMD(p, NV9097, SET_DA_PRIMITIVE_RESTART, dyn->ia.primitive_restart_enable); } @@ -681,7 +681,7 @@ nvk_flush_ts_state(struct nvk_cmd_buffer *cmd) &cmd->vk.dynamic_graphics_state; if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_TS_PATCH_CONTROL_POINTS)) { - struct nv_push *p = P_SPACE(cmd->push, 2); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 2); P_IMMD(p, NV9097, SET_PATCH, dyn->ts.patch_control_points); } } @@ -693,7 +693,7 @@ nvk_flush_vp_state(struct nvk_cmd_buffer *cmd) &cmd->vk.dynamic_graphics_state; struct nv_push *p = - P_SPACE(cmd->push, 14 * dyn->vp.viewport_count + 4 * NVK_MAX_VIEWPORTS); + nvk_cmd_buffer_push(cmd, 14 * dyn->vp.viewport_count + 4 * NVK_MAX_VIEWPORTS); /* Nothing to do for MESA_VK_DYNAMIC_VP_VIEWPORT_COUNT */ @@ -801,7 +801,7 @@ vk_to_nv9097_front_face(VkFrontFace vk_face) static void nvk_flush_rs_state(struct nvk_cmd_buffer *cmd) { - struct nv_push *p = P_SPACE(cmd->push, 23); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 23); const struct vk_dynamic_graphics_state *dyn = &cmd->vk.dynamic_graphics_state; @@ -895,7 +895,7 @@ vk_to_nv9097_stencil_op(VkStencilOp vk_op) static void nvk_flush_ds_state(struct nvk_cmd_buffer *cmd) { - struct nv_push *p = P_SPACE(cmd->push, 35); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 35); const struct vk_dynamic_graphics_state *dyn = &cmd->vk.dynamic_graphics_state; @@ -986,7 +986,7 @@ vk_to_nv9097_logic_op(VkLogicOp vk_op) static void nvk_flush_cb_state(struct nvk_cmd_buffer *cmd) { - struct nv_push *p = P_SPACE(cmd->push, 7); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 7); const struct vk_dynamic_graphics_state *dyn = &cmd->vk.dynamic_graphics_state; @@ -1046,7 +1046,7 @@ nvk_flush_descriptors(struct nvk_cmd_buffer *cmd) return; } - struct nv_push *p = P_SPACE(cmd->push, 26); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 26); P_MTHD(p, NV9097, SET_CONSTANT_BUFFER_SELECTOR_A); P_NV9097_SET_CONSTANT_BUFFER_SELECTOR_A(p, sizeof(desc->root)); @@ -1116,7 +1116,7 @@ nvk_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer); VK_FROM_HANDLE(nvk_buffer, buffer, _buffer); - struct nv_push *p = P_SPACE(cmd->push, 10); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 10); uint64_t addr, range; if (buffer) { @@ -1151,7 +1151,7 @@ void nvk_cmd_bind_vertex_buffer(struct nvk_cmd_buffer *cmd, uint32_t vb_idx, struct nvk_addr_range addr_range) { - struct nv_push *p = P_SPACE(cmd->push, 6); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_MTHD(p, NV9097, SET_VERTEX_STREAM_A_LOCATION_A(vb_idx)); P_NV9097_SET_VERTEX_STREAM_A_LOCATION_A(p, vb_idx, addr_range.addr >> 32); @@ -1295,7 +1295,7 @@ nvk_CmdDraw(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = P_SPACE(cmd->push, 6); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW)); P_INLINE_DATA(p, begin); P_INLINE_DATA(p, vertexCount); @@ -1369,7 +1369,7 @@ nvk_CmdDrawIndexed(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = P_SPACE(cmd->push, 7); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 7); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDEXED)); P_INLINE_DATA(p, begin); P_INLINE_DATA(p, indexCount); @@ -1438,7 +1438,7 @@ nvk_CmdDrawIndirect(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = P_SPACE(cmd->push, 8); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 8); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDIRECT)); P_INLINE_DATA(p, begin); @@ -1492,7 +1492,7 @@ nvk_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, .split_mode = SPLIT_MODE_NORMAL_BEGIN_NORMAL_END, }); - struct nv_push *p = P_SPACE(cmd->push, 8); + struct nv_push *p = nvk_cmd_buffer_push(cmd, 8); P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DRAW_INDEXED_INDIRECT)); P_INLINE_DATA(p, begin);