summaryrefslogtreecommitdiff
path: root/src/gallium/winsys
diff options
context:
space:
mode:
authorLucas Fryzek <lfryzek@igalia.com>2023-03-02 14:51:08 -0500
committerMarge Bot <emma+marge@anholt.net>2023-03-31 13:39:07 +0000
commit0c0e7d5c1a217be8e534d1c62a8d39511e065c0b (patch)
tree1e1313b5605fd46814c1651d7263f4519ef51351 /src/gallium/winsys
parent2ade6917dacb0648aff33f81da4e63418374ec7e (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.c9
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_winsys.c9
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;