The staging texture should always be idle, so I guess this just skips the needless GEM_WAIT_IDLE call?
Reviewed-by: Marek Olšák <[email protected]> Marek On Tue, Apr 15, 2014 at 7:46 AM, Michel Dänzer <[email protected]> wrote: > From: Michel Dänzer <[email protected]> > > The transfer staging texture is always freshly allocated, so for write-only > transfers we don't need to explicitly wait for the BO to become idle. > > Squeezes a few hundered MB/s more out of x11perf -shmput500 with glamor. > > Signed-off-by: Michel Dänzer <[email protected]> > --- > src/gallium/drivers/radeon/r600_texture.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/gallium/drivers/radeon/r600_texture.c > b/src/gallium/drivers/radeon/r600_texture.c > index 293eeaa..c410543 100644 > --- a/src/gallium/drivers/radeon/r600_texture.c > +++ b/src/gallium/drivers/radeon/r600_texture.c > @@ -1039,6 +1039,8 @@ static void *r600_texture_transfer_map(struct > pipe_context *ctx, > > if (trans->staging) { > buf = trans->staging; > + if (!rtex->is_depth && !(usage & PIPE_TRANSFER_READ)) > + usage |= PIPE_TRANSFER_UNSYNCHRONIZED; > } else { > buf = &rtex->resource; > } > -- > 1.9.0 > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
