nvk: Drop most buffer tracking
If it's backed by an nvk_device_memory, we don't need to track it since
we always add all of those to every submit so that bindless works.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
diff --git a/src/nouveau/vulkan/nvk_buffer.h b/src/nouveau/vulkan/nvk_buffer.h
index 521df0b..9d32fe9 100644
--- a/src/nouveau/vulkan/nvk_buffer.h
+++ b/src/nouveau/vulkan/nvk_buffer.h
@@ -5,7 +5,6 @@
#include "nvk_device_memory.h"
#include "nouveau_bo.h"
-#include "nouveau_push.h"
#include "vulkan/runtime/vk_buffer.h"
struct nvk_device_memory;
@@ -18,14 +17,6 @@
VK_DEFINE_HANDLE_CASTS(nvk_buffer, vk.base, VkBuffer, VK_OBJECT_TYPE_BUFFER)
-static void
-nvk_push_buffer_ref(struct nouveau_ws_push *push,
- const struct nvk_buffer *buffer,
- enum nouveau_ws_bo_map_flags flags)
-{
- nouveau_ws_push_ref(push, buffer->mem->bo, flags);
-}
-
static inline uint64_t
nvk_buffer_address(const struct nvk_buffer *buffer, uint64_t offset)
{
diff --git a/src/nouveau/vulkan/nvk_cmd_blit.c b/src/nouveau/vulkan/nvk_cmd_blit.c
index fc27446..ddd7cf0 100644
--- a/src/nouveau/vulkan/nvk_cmd_blit.c
+++ b/src/nouveau/vulkan/nvk_cmd_blit.c
@@ -25,9 +25,6 @@
assert(nvk_get_format(src->vk.format)->supports_2d_blit);
assert(nvk_get_format(dst->vk.format)->supports_2d_blit);
- nvk_push_image_ref(p, src, NOUVEAU_WS_BO_RD);
- nvk_push_image_ref(p, dst, NOUVEAU_WS_BO_WR);
-
P_IMMD(p, NV902D, SET_CLIP_ENABLE, V_FALSE);
P_IMMD(p, NV902D, SET_COLOR_KEY_ENABLE, V_FALSE);
P_IMMD(p, NV902D, SET_RENDER_ENABLE_C, MODE_TRUE);
diff --git a/src/nouveau/vulkan/nvk_cmd_copy.c b/src/nouveau/vulkan/nvk_cmd_copy.c
index 5591c8d..4f54daa 100644
--- a/src/nouveau/vulkan/nvk_cmd_copy.c
+++ b/src/nouveau/vulkan/nvk_cmd_copy.c
@@ -289,9 +289,6 @@
VK_FROM_HANDLE(nvk_buffer, src, pCopyBufferInfo->srcBuffer);
VK_FROM_HANDLE(nvk_buffer, dst, pCopyBufferInfo->dstBuffer);
- nvk_push_buffer_ref(cmd->push, src, NOUVEAU_WS_BO_RD);
- nvk_push_buffer_ref(cmd->push, dst, NOUVEAU_WS_BO_WR);
-
for (unsigned r = 0; r < pCopyBufferInfo->regionCount; r++) {
const VkBufferCopy2 *region = &pCopyBufferInfo->pRegions[r];
@@ -337,9 +334,6 @@
VK_FROM_HANDLE(nvk_buffer, src, pCopyBufferToImageInfo->srcBuffer);
VK_FROM_HANDLE(nvk_image, dst, pCopyBufferToImageInfo->dstImage);
- nvk_push_buffer_ref(cmd->push, src, NOUVEAU_WS_BO_RD);
- nvk_push_image_ref(cmd->push, dst, NOUVEAU_WS_BO_WR);
-
for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
const VkBufferImageCopy2 *region = &pCopyBufferToImageInfo->pRegions[r];
struct vk_image_buffer_layout buffer_layout =
@@ -408,9 +402,6 @@
VK_FROM_HANDLE(nvk_image, src, pCopyImageToBufferInfo->srcImage);
VK_FROM_HANDLE(nvk_buffer, dst, pCopyImageToBufferInfo->dstBuffer);
- nvk_push_image_ref(cmd->push, src, NOUVEAU_WS_BO_RD);
- nvk_push_buffer_ref(cmd->push, dst, NOUVEAU_WS_BO_WR);
-
for (unsigned r = 0; r < pCopyImageToBufferInfo->regionCount; r++) {
const VkBufferImageCopy2 *region = &pCopyImageToBufferInfo->pRegions[r];
struct vk_image_buffer_layout buffer_layout =
@@ -479,9 +470,6 @@
VK_FROM_HANDLE(nvk_image, src, pCopyImageInfo->srcImage);
VK_FROM_HANDLE(nvk_image, dst, pCopyImageInfo->dstImage);
- nvk_push_image_ref(cmd->push, src, NOUVEAU_WS_BO_RD);
- nvk_push_image_ref(cmd->push, dst, NOUVEAU_WS_BO_WR);
-
for (unsigned r = 0; r < pCopyImageInfo->regionCount; r++) {
const VkImageCopy2 *region = &pCopyImageInfo->pRegions[r];
@@ -547,8 +535,6 @@
VK_FROM_HANDLE(nvk_image, dst, image);
struct nouveau_ws_push *p = cmd->push;
- nvk_push_image_ref(p, dst, NOUVEAU_WS_BO_WR);
-
P_IMMD(p, NV902D, SET_OPERATION, V_SRCCOPY);
P_IMMD(p, NV902D, SET_CLIP_ENABLE, V_FALSE);
@@ -676,8 +662,6 @@
uint32_t pitch = 1 << 19;
uint32_t line = pitch / 4;
- nvk_push_buffer_ref(p, dst, NOUVEAU_WS_BO_WR);
-
P_IMMD(p, NV902D, SET_OPERATION, V_SRCCOPY);
P_MTHD(p, NV902D, SET_DST_FORMAT);
@@ -752,8 +736,6 @@
VkDeviceSize dst_addr = nvk_buffer_address(dst, 0);
- nvk_push_buffer_ref(p, dst, NOUVEAU_WS_BO_WR);
-
P_IMMD(p, NV902D, SET_OPERATION, V_SRCCOPY);
P_MTHD(p, NV902D, SET_DST_OFFSET_UPPER);
diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c
index df020e8..2301c0a 100644
--- a/src/nouveau/vulkan/nvk_cmd_draw.c
+++ b/src/nouveau/vulkan/nvk_cmd_draw.c
@@ -424,7 +424,6 @@
assert(render->samples == 0 || render->samples == image->vk.samples);
render->samples |= image->vk.samples;
- nvk_push_image_ref(cmd->push, image, NOUVEAU_WS_BO_WR);
uint64_t addr = nvk_image_base_address(image) + level->offset_B;
P_MTHD(p, NV9097, SET_COLOR_TARGET_A(i));
@@ -491,7 +490,6 @@
assert(render->samples == 0 || render->samples == image->vk.samples);
render->samples |= image->vk.samples;
- nvk_push_image_ref(cmd->push, image, NOUVEAU_WS_BO_WR);
uint64_t addr = nvk_image_base_address(image) + level->offset_B;
P_MTHD(p, NV9097, SET_ZT_A);
diff --git a/src/nouveau/vulkan/nvk_image.h b/src/nouveau/vulkan/nvk_image.h
index e1fc705..4695917 100644
--- a/src/nouveau/vulkan/nvk_image.h
+++ b/src/nouveau/vulkan/nvk_image.h
@@ -6,7 +6,6 @@
#include "nil_image.h"
#include "nouveau_bo.h"
-#include "nouveau_push.h"
#include "vulkan/runtime/vk_image.h"
struct nvk_physical_device;
@@ -29,14 +28,6 @@
VK_DEFINE_HANDLE_CASTS(nvk_image, vk.base, VkImage, VK_OBJECT_TYPE_IMAGE)
-static void
-nvk_push_image_ref(struct nouveau_ws_push *push,
- const struct nvk_image *image,
- enum nouveau_ws_bo_map_flags flags)
-{
- nouveau_ws_push_ref(push, image->mem->bo, flags);
-}
-
static inline uint64_t
nvk_image_base_address(const struct nvk_image *image)
{