From 5702b15cd9d6105111210f8d5521b413e0403cd7 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Sat, 13 Mar 2021 22:39:28 +0100 Subject: [PATCH] st/nine: Use PIPE_MAP_ONCE for persistent buffers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This enables radeonsi to really unmap on release, which reduces virtual memory usage. Do it only on 32 bits, as it can reduce performance if the allocation is reused. Signed-off-by: Axel Davy Acked-by: Timur Kristóf Part-of: --- src/gallium/frontends/nine/nine_buffer_upload.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/frontends/nine/nine_buffer_upload.c b/src/gallium/frontends/nine/nine_buffer_upload.c index 8cb175287ca..ff56857ed1c 100644 --- a/src/gallium/frontends/nine/nine_buffer_upload.c +++ b/src/gallium/frontends/nine/nine_buffer_upload.c @@ -97,6 +97,9 @@ nine_upload_create_buffer_group(struct nine_buffer_upload *upload, group->map = pipe_buffer_map_range(upload->pipe, group->resource, 0, upload->buffers_size, PIPE_MAP_WRITE | +#ifdef PIPE_ARCH_X86 + PIPE_MAP_ONCE | +#endif PIPE_MAP_PERSISTENT | PIPE_MAP_COHERENT, &group->transfer); @@ -228,6 +231,9 @@ nine_upload_create_buffer(struct nine_buffer_upload *upload, buf->map = pipe_buffer_map_range(upload->pipe, buf->resource, 0, buffer_size, PIPE_MAP_WRITE | +#ifdef PIPE_ARCH_X86 + PIPE_MAP_ONCE | +#endif PIPE_MAP_PERSISTENT | PIPE_MAP_COHERENT, &buf->transfer);