diff options
author | Eric Anholt <[email protected]> | 2019-05-01 15:02:27 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2019-05-13 12:03:11 -0700 |
commit | 60a64f028d75ad6ca13468490adf1748cf9f1ec0 (patch) | |
tree | 7cdc160a916fc95db2c1154490e9d741df80d210 /src/gallium/winsys/kmsro | |
parent | 0c31fe9ee743f699bcabcb638ccc83e515f0d1bd (diff) |
v3d: Use driconf to expose non-MSAA texture limits for Xorg.
The V3D 4.2 HW has a limit to MSAA texture sizes of 4096. With non-MSAA,
we can go up to 7680 (actually probably 8138, but that hasn't been
validated by the HW team). Exposing 7680 in X11 will allow dual 4k displays.
Diffstat (limited to 'src/gallium/winsys/kmsro')
-rw-r--r-- | src/gallium/winsys/kmsro/drm/kmsro_drm_public.h | 4 | ||||
-rw-r--r-- | src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/winsys/kmsro/drm/kmsro_drm_public.h b/src/gallium/winsys/kmsro/drm/kmsro_drm_public.h index 4da4e4b72ba..9d81ea3ee39 100644 --- a/src/gallium/winsys/kmsro/drm/kmsro_drm_public.h +++ b/src/gallium/winsys/kmsro/drm/kmsro_drm_public.h @@ -28,7 +28,9 @@ #define __KMSRO_DRM_PUBLIC_H__ struct pipe_screen; +struct pipe_screen_config; -struct pipe_screen *kmsro_drm_screen_create(int fd); +struct pipe_screen *kmsro_drm_screen_create(int fd, + const struct pipe_screen_config *config); #endif /* __KMSRO_DRM_PUBLIC_H__ */ diff --git a/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c b/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c index 3a452f91315..bf599a1497c 100644 --- a/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c +++ b/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c @@ -37,7 +37,8 @@ #include "pipe/p_screen.h" #include "renderonly/renderonly.h" -struct pipe_screen *kmsro_drm_screen_create(int fd) +struct pipe_screen *kmsro_drm_screen_create(int fd, + const struct pipe_screen_config *config) { struct pipe_screen *screen = NULL; struct renderonly ro = { @@ -53,7 +54,7 @@ struct pipe_screen *kmsro_drm_screen_create(int fd) * flag on allocation will have ensured. */ ro.create_for_resource = renderonly_create_gpu_import_for_resource, - screen = vc4_drm_screen_create_renderonly(&ro); + screen = vc4_drm_screen_create_renderonly(&ro, config); if (!screen) close(ro.gpu_fd); @@ -114,7 +115,7 @@ struct pipe_screen *kmsro_drm_screen_create(int fd) ro.gpu_fd = drmOpenWithType("v3d", NULL, DRM_NODE_RENDER); if (ro.gpu_fd >= 0) { ro.create_for_resource = renderonly_create_kms_dumb_buffer_for_resource, - screen = v3d_drm_screen_create_renderonly(&ro); + screen = v3d_drm_screen_create_renderonly(&ro, config); if (!screen) close(ro.gpu_fd); |