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

Martin Steigerwald Martin at lichtvoll.de
Thu Jan 24 15:50:03 PST 2013


According to KMail this went out as replay to all. Strange.

Am Donnerstag, 24. Januar 2013 schrieb Martin Steigerwald:
> 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