Module: Mesa
Branch: master
Commit: 93d549b2af84158f25842fd08b5882b041b33f62
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=93d549b2af84158f25842fd08b5882b041b33f62

Author: Marek Olšák <[email protected]>
Date:   Sun Mar 12 14:17:25 2017 +0100

gallium/radeon: handle other map buffer flags from the threaded context

Reviewed-by: Nicolai Hähnle <[email protected]>
Tested-by: Dieter Nützel <[email protected]>

---

 src/gallium/drivers/radeon/r600_buffer_common.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c 
b/src/gallium/drivers/radeon/r600_buffer_common.c
index 4132858b1f..5d984ea806 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -354,7 +354,8 @@ static void *r600_buffer_transfer_map(struct pipe_context 
*ctx,
 
        /* See if the buffer range being mapped has never been initialized,
         * in which case it can be mapped unsynchronized. */
-       if (!(usage & PIPE_TRANSFER_UNSYNCHRONIZED) &&
+       if (!(usage & (PIPE_TRANSFER_UNSYNCHRONIZED |
+                      TC_TRANSFER_MAP_IGNORE_VALID_RANGE)) &&
            usage & PIPE_TRANSFER_WRITE &&
            !rbuffer->is_shared &&
            !util_ranges_intersect(&rbuffer->valid_buffer_range, box->x, box->x 
+ box->width)) {
@@ -368,7 +369,8 @@ static void *r600_buffer_transfer_map(struct pipe_context 
*ctx,
        }
 
        if (usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE &&
-           !(usage & PIPE_TRANSFER_UNSYNCHRONIZED)) {
+           !(usage & (PIPE_TRANSFER_UNSYNCHRONIZED |
+                      TC_TRANSFER_MAP_NO_INVALIDATE))) {
                assert(usage & PIPE_TRANSFER_WRITE);
 
                if (r600_invalidate_buffer(rctx, rbuffer)) {

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to