[Intel-gfx] [PATCH 3/3] render: tell the kernel explicitly when fences are needed

Owain Ainsworth zerooa at googlemail.com
Sun Apr 11 19:17:23 CEST 2010


On Sun, Apr 11, 2010 at 04:45:56PM +0100, Chris Wilson wrote:
> On Sun, 11 Apr 2010 15:38:24 +0200, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> > diff --git a/src/i830_uxa.c b/src/i830_uxa.c
> > index 589e16d..09c2ef3 100644
> > --- a/src/i830_uxa.c
> > +++ b/src/i830_uxa.c
> > @@ -295,8 +295,8 @@ static void i830_uxa_solid(PixmapPtr pixmap, int x1, int y1, int x2, int y2)
> >  		OUT_BATCH(intel->BR[13] | pitch);
> >  		OUT_BATCH((y1 << 16) | (x1 & 0xffff));
> >  		OUT_BATCH((y2 << 16) | (x2 & 0xffff));
> > -		OUT_RELOC_PIXMAP(pixmap, I915_GEM_DOMAIN_RENDER,
> > -				 I915_GEM_DOMAIN_RENDER, 0);
> > +		OUT_RELOC_PIXMAP_FENCED(pixmap, I915_GEM_DOMAIN_RENDER,
> > +					I915_GEM_DOMAIN_RENDER, 0);
> >  		OUT_BATCH(intel->BR[16]);
> >  		ADVANCE_BATCH();
> >  	}
> 
>   if (!IS_I965(intel)) {
> 	  OUT_RELOC_PIXMAP_FENCED(pixmap,
>                                   I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
>                                   0);
>   } else {
> 	  OUT_RELOC_PIXMAP(pixmap,
>                            I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
>                            0);
>   }

not *strictly* needed, since libdrm removes the fence bit if the pixmap
is not tiled in the first place or gen >= 4. Depends if you want to make
the ddx code bigger in order to be explicit about this.

-0-
-- 
Kansas state law requires pedestrians crossing the highways at night to
wear tail lights.



More information about the Intel-gfx mailing list