diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 6139bd2f05e..9ca113ac883 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -983,6 +983,11 @@ static void r600_init_color_surface(struct r600_context *rctx, PIPE_USAGE_DEFAULT, cmask.size, cmask.alignment); + if (unlikely(!rctx->dummy_cmask)) { + surf->color_initialized = false; + return; + } + /* Set the contents to 0xCC. */ ptr = pipe_buffer_map(&rctx->b.b, &rctx->dummy_cmask->b.b, PIPE_TRANSFER_WRITE, &transfer); memset(ptr, 0xCC, cmask.size); @@ -999,6 +1004,11 @@ static void r600_init_color_surface(struct r600_context *rctx, r600_aligned_buffer_create(&rscreen->b.b, 0, PIPE_USAGE_DEFAULT, fmask.size, fmask.alignment); + + if (unlikely(!rctx->dummy_fmask)) { + surf->color_initialized = false; + return; + } } r600_resource_reference(&surf->cb_buffer_fmask, rctx->dummy_fmask); |