diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 2d33cb87808..e3dd8f1e798 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -2279,6 +2279,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_BindBufferMemory2(VkDevice _device, mem->pmem, 0, 0, pBindInfos[i].memoryOffset); + buffer->vk.device_address = (VkDeviceAddress)(uintptr_t)buffer->map; if (status) *status->pResult = VK_SUCCESS; } diff --git a/src/gallium/frontends/lavapipe/lvp_image.c b/src/gallium/frontends/lavapipe/lvp_image.c index 90365deb06e..70fc38d6a77 100644 --- a/src/gallium/frontends/lavapipe/lvp_image.c +++ b/src/gallium/frontends/lavapipe/lvp_image.c @@ -596,6 +596,8 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateBuffer( buffer->map = device->queue.ctx->buffer_map(device->queue.ctx, buffer->bo, 0, PIPE_MAP_READ | PIPE_MAP_WRITE | PIPE_MAP_PERSISTENT, &(struct pipe_box){ 0 }, &buffer->transfer); + + buffer->vk.device_address = (VkDeviceAddress)(uintptr_t)buffer->map; } } *pBuffer = lvp_buffer_to_handle(buffer);