[Mesa-dev] [PATCH 9/9] egl/swrast: enable config extension for swrast

Dave Airlie airlied at gmail.com
Tue May 5 18:04:06 PDT 2015


On 2 May 2015 at 20:15, Axel Davy <axel.davy at ens.fr> wrote:
> Enables to use dri config for swrast, like vblank_mode.
>
> Signed-off-by: Axel Davy <axel.davy at ens.fr>

Reviewed-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/egl/drivers/dri2/egl_dri2.c        | 21 ++++++++++-----------
>  src/gallium/state_trackers/dri/drisw.c |  1 +
>  src/mesa/drivers/dri/swrast/swrast.c   |  1 +
>  3 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
> index 689d5ec..1434580 100644
> --- a/src/egl/drivers/dri2/egl_dri2.c
> +++ b/src/egl/drivers/dri2/egl_dri2.c
> @@ -559,6 +559,7 @@ dri2_create_screen(_EGLDisplay *disp)
>  {
>     const __DRIextension **extensions;
>     struct dri2_egl_display *dri2_dpy;
> +   unsigned i;
>
>     dri2_dpy = disp->DriverData;
>
> @@ -599,25 +600,23 @@ dri2_create_screen(_EGLDisplay *disp)
>     extensions = dri2_dpy->core->getExtensions(dri2_dpy->dri_screen);
>
>     if (dri2_dpy->dri2) {
> -      unsigned i;
> -
>        if (!dri2_bind_extensions(dri2_dpy, dri2_core_extensions, extensions))
>           goto cleanup_dri_screen;
> -
> -      for (i = 0; extensions[i]; i++) {
> -        if (strcmp(extensions[i]->name, __DRI2_ROBUSTNESS) == 0) {
> -            dri2_dpy->robustness = (__DRIrobustnessExtension *) extensions[i];
> -        }
> -        if (strcmp(extensions[i]->name, __DRI2_CONFIG_QUERY) == 0) {
> -           dri2_dpy->config = (__DRI2configQueryExtension *) extensions[i];
> -        }
> -      }
>     } else {
>        assert(dri2_dpy->swrast);
>        if (!dri2_bind_extensions(dri2_dpy, swrast_core_extensions, extensions))
>           goto cleanup_dri_screen;
>     }
>
> +   for (i = 0; extensions[i]; i++) {
> +      if (strcmp(extensions[i]->name, __DRI2_ROBUSTNESS) == 0) {
> +         dri2_dpy->robustness = (__DRIrobustnessExtension *) extensions[i];
> +      }
> +      if (strcmp(extensions[i]->name, __DRI2_CONFIG_QUERY) == 0) {
> +         dri2_dpy->config = (__DRI2configQueryExtension *) extensions[i];
> +      }
> +   }
> +
>     dri2_setup_screen(disp);
>
>     return EGL_TRUE;
> diff --git a/src/gallium/state_trackers/dri/drisw.c b/src/gallium/state_trackers/dri/drisw.c
> index 5f69a2d..4a2c1bb 100644
> --- a/src/gallium/state_trackers/dri/drisw.c
> +++ b/src/gallium/state_trackers/dri/drisw.c
> @@ -333,6 +333,7 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
>  static const __DRIextension *drisw_screen_extensions[] = {
>     &driTexBufferExtension.base,
>     &dri2RendererQueryExtension.base,
> +   &dri2ConfigQueryExtension.base,
>     NULL
>  };
>
> diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
> index fb29078..d60774d 100644
> --- a/src/mesa/drivers/dri/swrast/swrast.c
> +++ b/src/mesa/drivers/dri/swrast/swrast.c
> @@ -942,6 +942,7 @@ static const __DRIextension *swrast_driver_extensions[] = {
>      &driCoreExtension.base,
>      &driSWRastExtension.base,
>      &driCopySubBufferExtension.base,
> +    &dri2ConfigQueryExtension.base,
>      &swrast_vtable.base,
>      NULL
>  };
> --
> 2.3.7
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list