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/vc4 | |
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/vc4')
-rw-r--r-- | src/gallium/winsys/vc4/drm/vc4_drm_public.h | 6 | ||||
-rw-r--r-- | src/gallium/winsys/vc4/drm/vc4_drm_winsys.c | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/gallium/winsys/vc4/drm/vc4_drm_public.h b/src/gallium/winsys/vc4/drm/vc4_drm_public.h index 102c1487ba5..a727242d7ba 100644 --- a/src/gallium/winsys/vc4/drm/vc4_drm_public.h +++ b/src/gallium/winsys/vc4/drm/vc4_drm_public.h @@ -27,7 +27,9 @@ struct pipe_screen; struct renderonly; -struct pipe_screen *vc4_drm_screen_create(int drmFD); -struct pipe_screen *vc4_drm_screen_create_renderonly(struct renderonly *ro); +struct pipe_screen *vc4_drm_screen_create(int drmFD, + const struct pipe_screen_config *config); +struct pipe_screen *vc4_drm_screen_create_renderonly(struct renderonly *ro, + const struct pipe_screen_config *config); #endif /* __VC4_DRM_PUBLIC_H__ */ diff --git a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c index 4215857d06b..2d05ac8cc92 100644 --- a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c +++ b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c @@ -32,7 +32,7 @@ #include "drm-uapi/vc4_drm.h" struct pipe_screen * -vc4_drm_screen_create(int fd) +vc4_drm_screen_create(int fd, const struct pipe_screen_config *config) { bool v3d_present = true; @@ -49,14 +49,15 @@ vc4_drm_screen_create(int fd) return vc4_screen_create(fcntl(fd, F_DUPFD_CLOEXEC, 3), NULL); #ifdef GALLIUM_KMSRO - return kmsro_drm_screen_create(fd); + return kmsro_drm_screen_create(fd, config); #endif return NULL; } struct pipe_screen * -vc4_drm_screen_create_renderonly(struct renderonly *ro) +vc4_drm_screen_create_renderonly(struct renderonly *ro, + const struct pipe_screen_config *config) { return vc4_screen_create(ro->gpu_fd, ro); } |