From: Axel Davy Date: Fri, 12 Apr 2019 22:39:59 +0000 (+0200) Subject: st/nine: Ignore nooverwrite for systemmem X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f4ae483c44ffdc56f990f6ebff7b9b4dde2cd54f;p=mesa.git st/nine: Ignore nooverwrite for systemmem Systemmem has a specific behaviour we don't mimick exactly. That makes Halo feel free to use nooverwrite with it all the time, even when reading again at the same location. Ignore nooverwrite to have proper synchronization. Fixes: https://github.com/iXit/Mesa-3D/issues/348 Signed-off-by: Axel Davy --- diff --git a/src/gallium/state_trackers/nine/buffer9.c b/src/gallium/state_trackers/nine/buffer9.c index 54855f16aef..30066f11c83 100644 --- a/src/gallium/state_trackers/nine/buffer9.c +++ b/src/gallium/state_trackers/nine/buffer9.c @@ -276,7 +276,7 @@ NineBuffer9_Lock( struct NineBuffer9 *This, * Our tests: SYSTEMMEM doesn't DISCARD */ if (This->base.pool == D3DPOOL_SYSTEMMEM) - Flags &= ~D3DLOCK_DISCARD; + Flags &= ~(D3DLOCK_DISCARD | D3DLOCK_NOOVERWRITE); if (Flags & D3DLOCK_DISCARD) usage = PIPE_TRANSFER_WRITE | PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE;