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 <davyaxel0@gmail.com>
This commit is contained in:
Axel Davy 2019-04-13 00:39:59 +02:00
parent fd3a870401
commit f4ae483c44

View file

@ -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;