[Mesa-dev] [PATCH 02/16] blorp: handle out of memory without crashing in various batch emissions
Iago Toral Quiroga
itoral at igalia.com
Tue Mar 7 07:15:47 UTC 2017
---
src/intel/blorp/blorp_genX_exec.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 8f322b0..dc1b773 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -276,6 +276,8 @@ blorp_emit_vertex_buffers(struct blorp_batch *batch,
const unsigned num_dwords = 1 + GENX(VERTEX_BUFFER_STATE_length) * 2;
uint32_t *dw = blorp_emitn(batch, GENX(3DSTATE_VERTEX_BUFFERS), num_dwords);
+ if (!dw)
+ return;
for (unsigned i = 0; i < 2; i++) {
GENX(VERTEX_BUFFER_STATE_pack)(batch, dw, &vb[i]);
@@ -381,6 +383,8 @@ blorp_emit_vertex_elements(struct blorp_batch *batch,
const unsigned num_dwords =
1 + GENX(VERTEX_ELEMENT_STATE_length) * num_elements;
uint32_t *dw = blorp_emitn(batch, GENX(3DSTATE_VERTEX_ELEMENTS), num_dwords);
+ if (!dw)
+ return;
for (unsigned i = 0; i < num_elements; i++) {
GENX(VERTEX_ELEMENT_STATE_pack)(batch, dw, &ve[i]);
@@ -1021,6 +1025,9 @@ blorp_emit_depth_stencil_state(struct blorp_batch *batch,
uint32_t offset = 0;
uint32_t *dw = blorp_emit_dwords(batch,
GENX(3DSTATE_WM_DEPTH_STENCIL_length));
+ if (!dw)
+ return 0;
+
GENX(3DSTATE_WM_DEPTH_STENCIL_pack)(NULL, dw, &ds);
#else
uint32_t offset;
--
2.7.4
More information about the mesa-dev
mailing list