summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/target-helpers
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-05-01 15:02:27 -0700
committerEric Anholt <[email protected]>2019-05-13 12:03:11 -0700
commit60a64f028d75ad6ca13468490adf1748cf9f1ec0 (patch)
tree7cdc160a916fc95db2c1154490e9d741df80d210 /src/gallium/auxiliary/target-helpers
parent0c31fe9ee743f699bcabcb638ccc83e515f0d1bd (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/auxiliary/target-helpers')
-rw-r--r--src/gallium/auxiliary/target-helpers/drm_helper.h13
-rw-r--r--src/gallium/auxiliary/target-helpers/drm_helper_public.h1
2 files changed, 10 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h b/src/gallium/auxiliary/target-helpers/drm_helper.h
index 830c0abcb7f..ac891d1d307 100644
--- a/src/gallium/auxiliary/target-helpers/drm_helper.h
+++ b/src/gallium/auxiliary/target-helpers/drm_helper.h
@@ -96,7 +96,7 @@ pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
- screen = kmsro_drm_screen_create(fd);
+ screen = kmsro_drm_screen_create(fd, config);
return screen ? debug_screen_wrap(screen) : NULL;
}
@@ -281,10 +281,9 @@ pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
- screen = vc4_drm_screen_create(fd);
+ screen = vc4_drm_screen_create(fd, config);
return screen ? debug_screen_wrap(screen) : NULL;
}
-
#else
struct pipe_screen *
@@ -304,10 +303,14 @@ pipe_v3d_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
- screen = v3d_drm_screen_create(fd);
+ screen = v3d_drm_screen_create(fd, config);
return screen ? debug_screen_wrap(screen) : NULL;
}
+const char *v3d_driconf_xml =
+ #include "v3d/v3d_driinfo.h"
+ ;
+
#else
struct pipe_screen *
@@ -317,6 +320,8 @@ pipe_v3d_create_screen(int fd, const struct pipe_screen_config *config)
return NULL;
}
+const char *v3d_driconf_xml = NULL;
+
#endif
#ifdef GALLIUM_PANFROST
diff --git a/src/gallium/auxiliary/target-helpers/drm_helper_public.h b/src/gallium/auxiliary/target-helpers/drm_helper_public.h
index fedb5c0fc17..a3cb9279fd5 100644
--- a/src/gallium/auxiliary/target-helpers/drm_helper_public.h
+++ b/src/gallium/auxiliary/target-helpers/drm_helper_public.h
@@ -6,6 +6,7 @@ struct pipe_screen_config;
const char *iris_driconf_xml;
const char *radeonsi_driconf_xml;
+const char *v3d_driconf_xml;
struct pipe_screen *
pipe_i915_create_screen(int fd, const struct pipe_screen_config *config);