The image is set on Memory allocation already, but the image doesn't have to have the BindImageMemory called yet. Luckily, we know offset within a BO has to be 0 for dedicated allocations, so we can just use the dummy 0 in the address calaculations.
Fixes CTS test dEQP-VK.api.external.memory.opaque_fd.dedicated.image.export_bind_import_bind Signed-off-by: Bas Nieuwenhuizen <ba...@google.com> Fixes: b70829708ac "radv: Implement VK_KHR_external_memory" --- src/amd/vulkan/radv_image.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index d8b7e8f421f..66cff526473 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -198,7 +198,7 @@ si_set_mutable_tex_desc_fields(struct radv_device *device, unsigned block_width, bool is_stencil, uint32_t *state) { - uint64_t gpu_address = device->ws->buffer_get_va(image->bo) + image->offset; + uint64_t gpu_address = image->bo ? device->ws->buffer_get_va(image->bo) + image->offset : 0; uint64_t va = gpu_address; unsigned pitch = base_level_info->nblk_x * block_width; enum chip_class chip_class = device->physical_device->rad_info.chip_class; -- 2.13.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev