summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2018-08-10 16:57:31 -0700
committerEric Anholt <eric@anholt.net>2018-09-04 08:07:52 -0700
commitad782a7020216b691e860115ec15cc8c95c13630 (patch)
tree0fc62003dd85d4345006b139cb04c2a0b212c359 /src/gallium/drivers/nouveau
parent67571ae79676c09b36f2e27452ed1d09697791ba (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 <marek.olsak@amd.com> (v1) Cc: Bruce Cherniak <bruce.cherniak@intel.com> Cc: George Kyriazis <george.kyriazis@intel.com> Cc: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_screen.c6
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_screen.c6
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_screen.c6
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