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

Author: Brian Paul <[email protected]>
Date:   Mon Oct 24 09:40:07 2011 -0600

util: handle failed mapping in u_upload_alloc()

Reviewed-by: José Fonseca <[email protected]>

---

 src/gallium/auxiliary/util/u_upload_mgr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c 
b/src/gallium/auxiliary/util/u_upload_mgr.c
index aef4d40..a2319d0 100644
--- a/src/gallium/auxiliary/util/u_upload_mgr.c
+++ b/src/gallium/auxiliary/util/u_upload_mgr.c
@@ -187,6 +187,11 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr 
*upload,
                                          PIPE_TRANSFER_FLUSH_EXPLICIT |
                                          PIPE_TRANSFER_UNSYNCHRONIZED,
                                          &upload->transfer);
+      if (!upload->map) {
+         pipe_resource_reference(outbuf, NULL);
+         *ptr = NULL;
+         return PIPE_ERROR_OUT_OF_MEMORY;
+      }
    }
 
    assert(offset < upload->buffer->width0);

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

Reply via email to