On Fri, 16 Dec 2011 15:39:55 +0800, [email protected] wrote:
> +fallback_glamor:
> +     /* Create textured pixmap failed means glamor failed to
> +      * create a texture from current BO for some reasons. We turn
> +      * to create a new glamor pixmap and clean up current one.
> +      * One thing need to be noted, this new pixmap doesn't
> +      * has a priv and bo attached to it. It's glamor's responsbility
> +      * to take care it.
> +      */
This then fails intel_uxa_is_offscreen() and we can no longer fallback
to swrast correctly as uxa_prepare_access() becomes a no-op.

> +     if (usage & INTEL_CREATE_PIXMAP_DRI2) {
> +             xf86DrvMsg(scrn->scrnIndex, X_WARNING,
> +                        "Failed to create textured DRI2 pixmap.");
> +             return pixmap;
At which point we really do need a better means for integrating glamor
and UXA ops...

> +     }
> +     new_pixmap = intel_glamor_create_pixmap(screen, w, h,
> +                                             depth, usage);
>       dri_bo_unreference(priv->bo);
>  fallback_priv:
>       free(priv);
>  fallback_pixmap:
>       fbDestroyPixmap(pixmap);
> -     return fbCreatePixmap(screen, w, h, depth, usage);
> +     if (new_pixmap)
> +             return new_pixmap;
> +     else
> +             return fbCreatePixmap(screen, w, h, depth, usage);
>  }

Otherwise, it does look to be a step in the right direction.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to