diff options
author | Eric Anholt <[email protected]> | 2018-08-10 16:57:31 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-09-04 08:07:52 -0700 |
commit | ad782a7020216b691e860115ec15cc8c95c13630 (patch) | |
tree | 0fc62003dd85d4345006b139cb04c2a0b212c359 /src/gallium/drivers/nouveau | |
parent | 67571ae79676c09b36f2e27452ed1d09697791ba (diff) |
gallium: Add a helper for implementing PIPE_CAP_* default values.
One of the pains of implementing a gallium driver is filling in a million
pipe caps you don't know about yet when you're just starting out. One of
the pains of working on gallium is copy-and-pasting your new PIPE_CAP into
each driver. We can fix both of these by having each driver call into the
default helper from their default case, so that both sides can ignore each
other until they need to.
v2: fix i915g build, revert swr change to avoid breaking scons build
(https://travis-ci.org/anholt/mesa/jobs/419739857)
v3: Rebase on 3 new gallium caps.
Reviewed-by: Marek Olšák <[email protected]> (v1)
Cc: Bruce Cherniak <[email protected]>
Cc: George Kyriazis <[email protected]>
Cc: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r-- | src/gallium/drivers/nouveau/nv30/nv30_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nv50/nv50_screen.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index da7ebecd5d7..719a4a84fc3 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -27,6 +27,7 @@ #include <nouveau_drm.h> #include "util/u_format.h" #include "util/u_format_s3tc.h" +#include "util/u_screen.h" #include "nv_object.xml.h" #include "nv_m2mf.xml.h" @@ -261,10 +262,9 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return dev->vram_size >> 20; case PIPE_CAP_UMA: return 0; + default: + return u_pipe_screen_get_param_defaults(pscreen, param); } - - debug_printf("unknown param %d\n", param); - return 0; } static float diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 0007a2b9576..d36305f3a69 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -25,6 +25,7 @@ #include <nouveau_drm.h> #include "util/u_format.h" #include "util/u_format_s3tc.h" +#include "util/u_screen.h" #include "pipe/p_screen.h" #include "nv50/nv50_context.h" @@ -315,10 +316,9 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return dev->vram_size >> 20; case PIPE_CAP_UMA: return 0; + default: + return u_pipe_screen_get_param_defaults(pscreen, param); } - - NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); - return 0; } static int diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index 4701b768bec..252cb466e07 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -25,6 +25,7 @@ #include <nvif/class.h> #include "util/u_format.h" #include "util/u_format_s3tc.h" +#include "util/u_screen.h" #include "pipe/p_screen.h" #include "nouveau_vp3_video.h" @@ -338,10 +339,9 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return dev->vram_size >> 20; case PIPE_CAP_UMA: return 0; + default: + return u_pipe_screen_get_param_defaults(pscreen, param); } - - NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); - return 0; } static int |