diff --git a/src/amd/vulkan/radv_radeon_winsys.h b/src/amd/vulkan/radv_radeon_winsys.h index 0fad6f44b71..9807562ff5d 100644 --- a/src/amd/vulkan/radv_radeon_winsys.h +++ b/src/amd/vulkan/radv_radeon_winsys.h @@ -304,6 +304,8 @@ struct radeon_winsys { int (*get_fd)(struct radeon_winsys *ws); + struct ac_addrlib *(*get_addrlib)(struct radeon_winsys *ws); + const struct vk_sync_type *const *(*get_sync_types)(struct radeon_winsys *ws); }; diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c index 9d160b65ed4..75bd8294d2e 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c @@ -95,8 +95,16 @@ radv_amdgpu_winsys_surface_init(struct radeon_winsys *_ws, const struct ac_surf_ return ac_compute_surface(ws->addrlib, &ws->info, &config, mode, surf); } +static struct ac_addrlib * +radv_amdgpu_get_addrlib(struct radeon_winsys *rws) +{ + struct radv_amdgpu_winsys *ws = radv_amdgpu_winsys(rws); + return ws->addrlib; +} + void radv_amdgpu_surface_init_functions(struct radv_amdgpu_winsys *ws) { + ws->base.get_addrlib = radv_amdgpu_get_addrlib; ws->base.surface_init = radv_amdgpu_winsys_surface_init; }