From: Marek Olšák <marek.ol...@amd.com>

Cc: 11.0 <mesa-sta...@lists.freedesktop.org>
---
 src/gallium/drivers/radeonsi/si_state_draw.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c 
b/src/gallium/drivers/radeonsi/si_state_draw.c
index 8cb98d7..b4c59f8 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -782,6 +782,10 @@ void si_draw_vbo(struct pipe_context *ctx, const struct 
pipe_draw_info *info)
 
                        u_upload_alloc(sctx->b.uploader, start_offset, count * 
2,
                                       &out_offset, &out_buffer, &ptr);
+                       if (!out_buffer) {
+                               pipe_resource_reference(&ib.buffer, NULL);
+                               return;
+                       }
 
                        util_shorten_ubyte_elts_to_userptr(&sctx->b.b, &ib, 0,
                                                           ib.offset + 
start_offset,
@@ -802,6 +806,8 @@ void si_draw_vbo(struct pipe_context *ctx, const struct 
pipe_draw_info *info)
                        u_upload_data(sctx->b.uploader, start_offset, count * 
ib.index_size,
                                      (char*)ib.user_buffer + start_offset,
                                      &ib.offset, &ib.buffer);
+                       if (!ib.buffer)
+                               return;
                        /* info->start will be added by the drawing code */
                        ib.offset -= start_offset;
                }
-- 
2.1.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to