gallium: allow passing 'unsigned flags' to create_screen()
authorMarek Olšák <marek.olsak@amd.com>
Tue, 20 Jun 2017 22:30:21 +0000 (00:30 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 23 Jun 2017 17:50:20 +0000 (19:50 +0200)
for drirc options

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
25 files changed:
src/gallium/auxiliary/pipe-loader/pipe_loader.c
src/gallium/auxiliary/pipe-loader/pipe_loader.h
src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
src/gallium/auxiliary/pipe-loader/pipe_loader_priv.h
src/gallium/auxiliary/target-helpers/drm_helper.h
src/gallium/auxiliary/target-helpers/drm_helper_public.h
src/gallium/auxiliary/vl/vl_winsys_dri.c
src/gallium/auxiliary/vl/vl_winsys_dri3.c
src/gallium/auxiliary/vl/vl_winsys_drm.c
src/gallium/include/state_tracker/drm_driver.h
src/gallium/state_trackers/clover/core/device.cpp
src/gallium/state_trackers/dri/dri2.c
src/gallium/state_trackers/dri/drisw.c
src/gallium/state_trackers/xa/xa_tracker.c
src/gallium/targets/d3dadapter9/drm.c
src/gallium/targets/pipe-loader/pipe_i915.c
src/gallium/targets/pipe-loader/pipe_msm.c
src/gallium/targets/pipe-loader/pipe_nouveau.c
src/gallium/targets/pipe-loader/pipe_r300.c
src/gallium/targets/pipe-loader/pipe_r600.c
src/gallium/targets/pipe-loader/pipe_radeonsi.c
src/gallium/targets/pipe-loader/pipe_vmwgfx.c
src/gallium/tests/trivial/compute.c
src/gallium/tests/trivial/quad-tex.c
src/gallium/tests/trivial/tri.c

index 1ddfeba16c983600ee9a83083e03c093a34be7c0..0857a2cbb7e57475a88b94c9f5c4629449af2180 100644 (file)
@@ -74,9 +74,9 @@ pipe_loader_configuration(struct pipe_loader_device *dev,
 }
 
 struct pipe_screen *
-pipe_loader_create_screen(struct pipe_loader_device *dev)
+pipe_loader_create_screen(struct pipe_loader_device *dev, unsigned flags)
 {
-   return dev->ops->create_screen(dev);
+   return dev->ops->create_screen(dev, flags);
 }
 
 struct util_dl_library *
index 690d088ed82e4bf309b042b6d1e253f45944d325..73b75586cfaa7794396a6d485f73b7bcee10ba70 100644 (file)
@@ -84,7 +84,7 @@ pipe_loader_probe(struct pipe_loader_device **devs, int ndev);
  * \param dev Device the screen will be created for.
  */
 struct pipe_screen *
-pipe_loader_create_screen(struct pipe_loader_device *dev);
+pipe_loader_create_screen(struct pipe_loader_device *dev, unsigned flags);
 
 /**
  * Query the configuration parameters for the specified device.
index 0ba360e1ee033b0bd14d1bec2312c082b6ac00b8..ef446b6e4f94c48a333b65f46ddd7099c01ddbf5 100644 (file)
@@ -281,11 +281,11 @@ pipe_loader_drm_configuration(struct pipe_loader_device *dev,
 }
 
 static struct pipe_screen *
-pipe_loader_drm_create_screen(struct pipe_loader_device *dev)
+pipe_loader_drm_create_screen(struct pipe_loader_device *dev, unsigned flags)
 {
    struct pipe_loader_drm_device *ddev = pipe_loader_drm_device(dev);
 
-   return ddev->dd->create_screen(ddev->fd);
+   return ddev->dd->create_screen(ddev->fd, flags);
 }
 
 static const struct pipe_loader_ops pipe_loader_drm_ops = {
index da2ca8c6e1f6f01e63991e146ef141ee1e0c0c96..58ab992a90664213b304a1f721aa6fd4ad7eb98c 100644 (file)
@@ -31,7 +31,8 @@
 #include "pipe_loader.h"
 
 struct pipe_loader_ops {
-   struct pipe_screen *(*create_screen)(struct pipe_loader_device *dev);
+   struct pipe_screen *(*create_screen)(struct pipe_loader_device *dev,
+                                        unsigned flags);
 
    const struct drm_conf_ret *(*configuration)(struct pipe_loader_device *dev,
                                                enum drm_conf conf);
index 1b071a6d36b3d586448ed4f5a3f474bf4bcbe4dc..65231cf3ebad09149bba2f0b8d3a783f9d87f9aa 100644 (file)
@@ -10,7 +10,7 @@
 #include "i915/i915_public.h"
 
 struct pipe_screen *
-pipe_i915_create_screen(int fd)
+pipe_i915_create_screen(int fd, unsigned flags)
 {
    struct i915_winsys *iws;
    struct pipe_screen *screen;
@@ -26,7 +26,7 @@ pipe_i915_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_i915_create_screen(int fd)
+pipe_i915_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "i915g: driver missing\n");
    return NULL;
@@ -38,7 +38,7 @@ pipe_i915_create_screen(int fd)
 #include "nouveau/drm/nouveau_drm_public.h"
 
 struct pipe_screen *
-pipe_nouveau_create_screen(int fd)
+pipe_nouveau_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -49,7 +49,7 @@ pipe_nouveau_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_nouveau_create_screen(int fd)
+pipe_nouveau_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "nouveau: driver missing\n");
    return NULL;
@@ -61,7 +61,7 @@ pipe_nouveau_create_screen(int fd)
 #include "pl111/drm/pl111_drm_public.h"
 
 struct pipe_screen *
-pipe_pl111_create_screen(int fd)
+pipe_pl111_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -72,7 +72,7 @@ pipe_pl111_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_pl111_create_screen(int fd)
+pipe_pl111_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "pl111: driver missing\n");
    return NULL;
@@ -86,7 +86,7 @@ pipe_pl111_create_screen(int fd)
 #include "r300/r300_public.h"
 
 struct pipe_screen *
-pipe_r300_create_screen(int fd)
+pipe_r300_create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *rw;
 
@@ -97,7 +97,7 @@ pipe_r300_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_r300_create_screen(int fd)
+pipe_r300_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "r300: driver missing\n");
    return NULL;
@@ -111,7 +111,7 @@ pipe_r300_create_screen(int fd)
 #include "r600/r600_public.h"
 
 struct pipe_screen *
-pipe_r600_create_screen(int fd)
+pipe_r600_create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *rw;
 
@@ -122,7 +122,7 @@ pipe_r600_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_r600_create_screen(int fd)
+pipe_r600_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "r600: driver missing\n");
    return NULL;
@@ -137,7 +137,7 @@ pipe_r600_create_screen(int fd)
 #include "radeonsi/si_public.h"
 
 struct pipe_screen *
-pipe_radeonsi_create_screen(int fd)
+pipe_radeonsi_create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *rw;
 
@@ -153,7 +153,7 @@ pipe_radeonsi_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_radeonsi_create_screen(int fd)
+pipe_radeonsi_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "radeonsi: driver missing\n");
    return NULL;
@@ -166,7 +166,7 @@ pipe_radeonsi_create_screen(int fd)
 #include "svga/svga_public.h"
 
 struct pipe_screen *
-pipe_vmwgfx_create_screen(int fd)
+pipe_vmwgfx_create_screen(int fd, unsigned flags)
 {
    struct svga_winsys_screen *sws;
    struct pipe_screen *screen;
@@ -182,7 +182,7 @@ pipe_vmwgfx_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_vmwgfx_create_screen(int fd)
+pipe_vmwgfx_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "svga: driver missing\n");
    return NULL;
@@ -194,7 +194,7 @@ pipe_vmwgfx_create_screen(int fd)
 #include "freedreno/drm/freedreno_drm_public.h"
 
 struct pipe_screen *
-pipe_freedreno_create_screen(int fd)
+pipe_freedreno_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -205,7 +205,7 @@ pipe_freedreno_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_freedreno_create_screen(int fd)
+pipe_freedreno_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "freedreno: driver missing\n");
    return NULL;
@@ -218,7 +218,7 @@ pipe_freedreno_create_screen(int fd)
 #include "virgl/virgl_public.h"
 
 struct pipe_screen *
-pipe_virgl_create_screen(int fd)
+pipe_virgl_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -229,7 +229,7 @@ pipe_virgl_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_virgl_create_screen(int fd)
+pipe_virgl_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "virgl: driver missing\n");
    return NULL;
@@ -241,7 +241,7 @@ pipe_virgl_create_screen(int fd)
 #include "vc4/drm/vc4_drm_public.h"
 
 struct pipe_screen *
-pipe_vc4_create_screen(int fd)
+pipe_vc4_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -252,7 +252,7 @@ pipe_vc4_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_vc4_create_screen(int fd)
+pipe_vc4_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "vc4: driver missing\n");
    return NULL;
@@ -264,7 +264,7 @@ pipe_vc4_create_screen(int fd)
 #include "etnaviv/drm/etnaviv_drm_public.h"
 
 struct pipe_screen *
-pipe_etna_create_screen(int fd)
+pipe_etna_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -275,7 +275,7 @@ pipe_etna_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_etna_create_screen(int fd)
+pipe_etna_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "etnaviv: driver missing\n");
    return NULL;
@@ -287,7 +287,7 @@ pipe_etna_create_screen(int fd)
 #include "imx/drm/imx_drm_public.h"
 
 struct pipe_screen *
-pipe_imx_drm_create_screen(int fd)
+pipe_imx_drm_create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
@@ -298,7 +298,7 @@ pipe_imx_drm_create_screen(int fd)
 #else
 
 struct pipe_screen *
-pipe_imx_drm_create_screen(int fd)
+pipe_imx_drm_create_screen(int fd, unsigned flags)
 {
    fprintf(stderr, "imx-drm: driver missing\n");
    return NULL;
index 5abb5fc7b82ad36c98a8e1aafa4201cb2f218d1a..d4adc880df016807741766eb99f896fca5de9d3a 100644 (file)
@@ -5,42 +5,42 @@
 struct pipe_screen;
 
 struct pipe_screen *
-pipe_i915_create_screen(int fd);
+pipe_i915_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_ilo_create_screen(int fd);
+pipe_ilo_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_nouveau_create_screen(int fd);
+pipe_nouveau_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_r300_create_screen(int fd);
+pipe_r300_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_r600_create_screen(int fd);
+pipe_r600_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_radeonsi_create_screen(int fd);
+pipe_radeonsi_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_vmwgfx_create_screen(int fd);
+pipe_vmwgfx_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_freedreno_create_screen(int fd);
+pipe_freedreno_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_virgl_create_screen(int fd);
+pipe_virgl_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_vc4_create_screen(int fd);
+pipe_vc4_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_pl111_create_screen(int fd);
+pipe_pl111_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_etna_create_screen(int fd);
+pipe_etna_create_screen(int fd, unsigned flags);
 
 struct pipe_screen *
-pipe_imx_drm_create_screen(int fd);
+pipe_imx_drm_create_screen(int fd, unsigned flags);
 
 #endif /* _DRM_HELPER_PUBLIC_H */
index b4fb47ea8e46243c8ac99f75e6227f1131596307..043483b7fea2f5481184ebc8b13483b057e22a3e 100644 (file)
@@ -406,7 +406,7 @@ vl_dri2_screen_create(Display *display, int screen)
       goto free_authenticate;
 
    if (pipe_loader_drm_probe_fd(&scrn->base.dev, fd))
-      scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev);
+      scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev, 0);
 
    if (!scrn->base.pscreen)
       goto release_pipe;
index 8251087f3f90c92656d7c2ab72c344259c1db7fb..68bac44d95b0578d1303683e542d83cbb3ec4c33 100644 (file)
@@ -817,7 +817,7 @@ vl_dri3_screen_create(Display *display, int screen)
    free(geom_reply);
 
    if (pipe_loader_drm_probe_fd(&scrn->base.dev, fd))
-      scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev);
+      scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev, 0);
 
    if (!scrn->base.pscreen)
       goto release_pipe;
index df8809c501cb70de2883a7ccb5498a30e75b9cfb..ebde5b8cb6359b9f17bf1e095cb55cb647a90708 100644 (file)
@@ -52,7 +52,7 @@ vl_drm_screen_create(int fd)
       goto free_screen;
 
    if (pipe_loader_drm_probe_fd(&vscreen->dev, new_fd))
-      vscreen->pscreen = pipe_loader_create_screen(vscreen->dev);
+      vscreen->pscreen = pipe_loader_create_screen(vscreen->dev, 0);
 
    if (!vscreen->pscreen)
       goto release_pipe;
index 88dda0a9977060f1b0acc45b5b02856e3b861bda..4383276a4ad4f5a4bbefbe33f7262f8a6aed7435 100644 (file)
@@ -102,7 +102,7 @@ struct drm_driver_descriptor
     * This function does any wrapping of the screen.
     * For example wrapping trace or rbug debugging drivers around it.
     */
-   struct pipe_screen* (*create_screen)(int drm_fd);
+   struct pipe_screen* (*create_screen)(int drm_fd, unsigned flags);
 
    /**
     * Return a configuration value.
index 8dfba1ad9fd9882b7c28d7cf021d519ffd34633b..2ad9e49cf8dd47f742fe2a8c5833ff4b216d8f6f 100644 (file)
@@ -42,7 +42,7 @@ namespace {
 
 device::device(clover::platform &platform, pipe_loader_device *ldev) :
    platform(platform), ldev(ldev) {
-   pipe = pipe_loader_create_screen(ldev);
+   pipe = pipe_loader_create_screen(ldev, 0);
    if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE)) {
       if (pipe)
          pipe->destroy(pipe);
index c5e69d639b165b06f1db32b28ca6966df1f5b7a0..2d0e78cfdda9356826adac7f6109f031e96a1bff 100644 (file)
@@ -2026,7 +2026,7 @@ dri2_init_screen(__DRIscreen * sPriv)
       goto free_screen;
 
    if (pipe_loader_drm_probe_fd(&screen->dev, fd))
-      pscreen = pipe_loader_create_screen(screen->dev);
+      pscreen = pipe_loader_create_screen(screen->dev, 0);
 
    if (!pscreen)
        goto release_pipe;
@@ -2117,7 +2117,7 @@ dri_kms_init_screen(__DRIscreen * sPriv)
       goto free_screen;
 
    if (pipe_loader_sw_probe_kms(&screen->dev, fd))
-      pscreen = pipe_loader_create_screen(screen->dev);
+      pscreen = pipe_loader_create_screen(screen->dev, 0);
 
    if (!pscreen)
        goto release_pipe;
index 8fbfa9eceaea2c8b6068016e62a48d857210f1ac..877aa716d2686f74bf4d6516f220a50ae1e11d1f 100644 (file)
@@ -400,7 +400,7 @@ drisw_init_screen(__DRIscreen * sPriv)
    sPriv->extensions = drisw_screen_extensions;
 
    if (pipe_loader_sw_probe_dri(&screen->dev, &drisw_lf))
-      pscreen = pipe_loader_create_screen(screen->dev);
+      pscreen = pipe_loader_create_screen(screen->dev, 0);
 
    if (!pscreen)
       goto fail;
index 03a3abf6835ad193bac997e2b99f0f9e75824c27..e5addcf8fef16436b12e03577e23ad7edefa260a 100644 (file)
@@ -162,7 +162,7 @@ xa_tracker_create(int drm_fd)
        goto out_no_fd;
 
     if (pipe_loader_drm_probe_fd(&xa->dev, fd))
-       xa->screen = pipe_loader_create_screen(xa->dev);
+       xa->screen = pipe_loader_create_screen(xa->dev, 0);
 
     if (!xa->screen)
        goto out_no_screen;
index 0434d8e4c17c1a6c8792865a177a4a2082607468..27c3fb167513c7d0a9595bacdb5f3a0a4704bd74 100644 (file)
@@ -229,7 +229,7 @@ drm_create_adapter( int fd,
         return D3DERR_DRIVERINTERNALERROR;
     }
 
-    ctx->base.hal = pipe_loader_create_screen(ctx->dev);
+    ctx->base.hal = pipe_loader_create_screen(ctx->dev, 0);
     if (!ctx->base.hal) {
         ERR("Unable to load requested driver.\n");
         drm_destroy(&ctx->base);
@@ -312,7 +312,7 @@ drm_create_adapter( int fd,
 
     /* wrap it to create a software screen that can share resources */
     if (pipe_loader_sw_probe_wrapped(&ctx->swdev, ctx->base.hal))
-        ctx->base.ref = pipe_loader_create_screen(ctx->swdev);
+        ctx->base.ref = pipe_loader_create_screen(ctx->swdev, 0);
 
     if (!ctx->base.ref) {
         ERR("Couldn't wrap drm screen to swrast screen. Software devices "
index 2183dc3c147b49fc639f3d04a2b54685a091bc39..43061b06d668e80df86e5be65923f1eb4bdfe453 100644 (file)
@@ -5,7 +5,7 @@
 #include "i915/i915_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct i915_winsys *iws;
    struct pipe_screen *screen;
index 858b2488b5b900cb6912d0100075fb6e6bdb0b2e..180e0f9351155e5009b98fb8b59b514e385be979 100644 (file)
@@ -4,7 +4,7 @@
 #include "freedreno/drm/freedreno_drm_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
index d9c0c5d037767f03a9638bf479b6856e108b5d06..de61f44ce2ccdb10671a8d179bb0b1ebd191b757 100644 (file)
@@ -4,7 +4,7 @@
 #include "nouveau/drm/nouveau_drm_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct pipe_screen *screen;
 
index dd5c0bd183194dd3bc60c1e31e100d65d020d677..ffd6ba84bf07e7fc48e3d02d339a35b498b98b7e 100644 (file)
@@ -5,7 +5,7 @@
 #include "r300/r300_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *sws;
 
index 70760d045ffcabb6821afebf5d1e2ef684fcdc06..6f21c50a8bb64b6f755fb0ea14b76407a0ed3577 100644 (file)
@@ -5,7 +5,7 @@
 #include "r600/r600_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *rw;
 
index 01b1d8aedb9aa4ca354ae08e416bfae4567bd65b..b6a78e42cbe6cf29a01ef5a0a47ec7280961a939 100644 (file)
@@ -6,7 +6,7 @@
 #include "radeonsi/si_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct radeon_winsys *rw;
 
index 7aa44217f9cc5e5f579a8f8f59c43f6804d392a6..632083188809e765a48011f7dc1c7b1ab9d76cb5 100644 (file)
@@ -5,7 +5,7 @@
 #include "svga/svga_public.h"
 
 static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, unsigned flags)
 {
    struct svga_winsys_screen *sws;
    struct pipe_screen *screen;
index 443451e13d2417a64df36e6b3a14df9075b62259..a2e882cc81d33c6c7aed154e0960742c36ba4d39 100644 (file)
@@ -76,7 +76,7 @@ static void init_ctx(struct context *ctx)
         ret = pipe_loader_probe(&ctx->dev, 1);
         assert(ret);
 
-        ctx->screen = pipe_loader_create_screen(ctx->dev);
+        ctx->screen = pipe_loader_create_screen(ctx->dev, 0);
         assert(ctx->screen);
 
         ctx->pipe = ctx->screen->context_create(ctx->screen, NULL, 0);
index 2ee544a41294399f82ab0cd228aa936468652315..113cb9230bbc485f8ec4ee9976df0563078eab70 100644 (file)
@@ -96,7 +96,7 @@ static void init_prog(struct program *p)
        assert(ret);
 
        /* init a pipe screen */
-       p->screen = pipe_loader_create_screen(p->dev);
+       p->screen = pipe_loader_create_screen(p->dev, 0);
        assert(p->screen);
 
        /* create the pipe driver context and cso context */
index a2031696f029a7dd5324bcae4bdfec37e3c88b2c..df02e96d85f2531224f59a677d0c86881a429f8f 100644 (file)
@@ -91,7 +91,7 @@ static void init_prog(struct program *p)
        assert(ret);
 
        /* init a pipe screen */
-       p->screen = pipe_loader_create_screen(p->dev);
+       p->screen = pipe_loader_create_screen(p->dev, 0);
        assert(p->screen);
 
        /* create the pipe driver context and cso context */