[Mesa-dev] [PATCH RFC v1] i965: Implement CopyTexSubImage2D via BLORP (and use it by default).

Martin Steigerwald Martin at lichtvoll.de
Thu Jan 24 13:56:41 PST 2013


Am Sonntag, 20. Januar 2013 schrieb Paul Berry:
> > ---
> >
> >  src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 106
> >
> > +++++++++++++++++++++++++++
> >
> >  src/mesa/drivers/dri/i965/brw_context.h      |   8 ++
> >  src/mesa/drivers/dri/intel/intel_tex_copy.c  |  32 ++++++--
> >  3 files changed, 138 insertions(+), 8 deletions(-)
> >
> > Paul,
> > 
> > I'd appreciate your feedback on this patch.  It's my first time really
> > working with BLORP, so I'm bound to have screwed up something. :)
> > 
> > I'm not sure about the HiZ and downsample resolves (hence the //'d out
> > lines).
> 
> Your interaction with blorp looks good.  But I think there are some bugs
> in the resolves.  My rules of thumb for depth/HiZ resolves are:
> 
> - Resolves take care of the mismatch in access patterns between HiZ-aware
> components (i.e. the depth buffer bound to the rendering pipeline) and
> non-HiZ-aware components (texture units, blorp, and swrast).  After
> writing data using a HiZ-aware component and reading it using a
> non-HiZ-aware component, you need to do a depth resolve.  After writing
> data using a non-HiZ-aware component and reading it using a HiZ-aware
> component, you need to do a HiZ resolve.  For this determination,
> writing to a portion of the buffer (but not all of it) counts as both a
> write and a read.
> 
> - We do resolves at the last possible minute, so the way this is actually
> accomplished is to call
> intel_{miptree_slice,renderbuffer}_resolve_{depth,hiz} before
> reading/writing a buffer and
> intel_{miptree_slice,renderbuffer}_set_needs_{depth,hiz}_resolve after
> writing to a buffer.  The latter calls simply flag a future resolve as
> being necessary; the former calls do the resolve only if it was
> previously flagged.
> 
> I'll comment below on the specific changes I think are necessary.

I am currently testing this patch and I am the reporter of the spell effects 
slowness in Planeshift [1].

Can this lead to refresh issues like floating around triagnles on ground or 
so? Funnily I think I didn´t have these while SNA was enabled, but with SNA 
enabled I had some other wierd issues like high CPU usage for X.org.

Well I also put it the driver I compiled with mesa git master from fdo into 
a 9.0.1 debian package built. Maybe I have to use all of git master of mesa?

Anyway for spell effect speed this patch is a *huge* improvement.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=59086

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


More information about the mesa-dev mailing list