From 4038db72d4f28f3eae811173839a926ea4979b5e Mon Sep 17 00:00:00 2001
From: Marek Olšák <marek.olsak@amd.com>
Date: Fri, 1 Dec 2017 03:08:16 +0100
Subject: radeonsi: make const and stream uploaders allocate read-only memory
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

and anything that clones these uploaders, like u_threaded_context.

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
---
 src/gallium/drivers/radeon/r600_pipe_common.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'src/gallium')

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index 9090e65aaa8..9e45a9f0d1d 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -445,12 +445,15 @@ bool si_common_context_init(struct r600_common_context *rctx,
 		return false;
 
 	rctx->b.stream_uploader = u_upload_create(&rctx->b, 1024 * 1024,
-						  0, PIPE_USAGE_STREAM, 0);
+						  0, PIPE_USAGE_STREAM,
+						  R600_RESOURCE_FLAG_READ_ONLY);
 	if (!rctx->b.stream_uploader)
 		return false;
 
 	rctx->b.const_uploader = u_upload_create(&rctx->b, 128 * 1024,
-						 0, PIPE_USAGE_DEFAULT, 0);
+						 0, PIPE_USAGE_DEFAULT,
+						 sscreen->cpdma_prefetch_writes_memory ?
+							0 : R600_RESOURCE_FLAG_READ_ONLY);
 	if (!rctx->b.const_uploader)
 		return false;
 
-- 
cgit v1.2.3