diff options
author | Lucas Fryzek <lfryzek@igalia.com> | 2023-03-02 14:51:08 -0500 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-03-31 13:39:07 +0000 |
commit | 0c0e7d5c1a217be8e534d1c62a8d39511e065c0b (patch) | |
tree | 1e1313b5605fd46814c1651d7263f4519ef51351 /src/gallium/winsys | |
parent | 2ade6917dacb0648aff33f81da4e63418374ec7e (diff) |
r300/r600/radeon_si: Add support for `get_screen_fd`
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21654>
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 9 | ||||
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 23e1903b69e..addd31953af 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -407,6 +407,14 @@ are_file_descriptions_equal(int fd1, int fd2) return false; } +static int +amdgpu_drm_winsys_get_fd(struct radeon_winsys *rws) +{ + struct amdgpu_screen_winsys *sws = amdgpu_screen_winsys(rws); + + return sws->fd; +} + PUBLIC struct radeon_winsys * amdgpu_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create) @@ -576,6 +584,7 @@ amdgpu_winsys_create(int fd, const struct pipe_screen_config *config, /* Set functions. */ ws->base.unref = amdgpu_winsys_unref; ws->base.destroy = amdgpu_winsys_destroy; + ws->base.get_fd = amdgpu_drm_winsys_get_fd; ws->base.query_info = amdgpu_winsys_query_info; ws->base.cs_request_feature = amdgpu_cs_request_feature; ws->base.query_value = amdgpu_query_value; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index b0e94422fe2..12db4f2a20f 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -795,6 +795,14 @@ static bool radeon_cs_set_pstate(struct radeon_cmdbuf* cs, enum radeon_ctx_pstat return false; } +static int +radeon_drm_winsys_get_fd(struct radeon_winsys *ws) +{ + struct radeon_drm_winsys *rws = (struct radeon_drm_winsys*)ws; + + return rws->fd; +} + PUBLIC struct radeon_winsys * radeon_drm_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create) @@ -861,6 +869,7 @@ radeon_drm_winsys_create(int fd, const struct pipe_screen_config *config, /* Set functions. */ ws->base.unref = radeon_winsys_unref; ws->base.destroy = radeon_winsys_destroy; + ws->base.get_fd = radeon_drm_winsys_get_fd; ws->base.query_info = radeon_query_info; ws->base.pin_threads_to_L3_cache = radeon_pin_threads_to_L3_cache; ws->base.cs_request_feature = radeon_cs_request_feature; |