[Mesa-dev] [PATCH 1/3] softpipe: check if so_target is NULL before accessing it
sroland at vmware.com
sroland at vmware.com
Fri Aug 30 07:41:01 PDT 2013
From: Roland Scheidegger <sroland at vmware.com>
No idea if this is working right but copied straight from llvmpipe.
(Not only does this check the so_target but also use buffer->data instead
of buffer for the mapping.)
Just trying to get rid of a segfault testing something else...
---
src/gallium/drivers/softpipe/sp_draw_arrays.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c
index 6b06f70..4d56b1c 100644
--- a/src/gallium/drivers/softpipe/sp_draw_arrays.c
+++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c
@@ -107,8 +107,11 @@ softpipe_draw_vbo(struct pipe_context *pipe,
for (i = 0; i < sp->num_so_targets; i++) {
- void *buf = softpipe_resource_data(sp->so_targets[i]->target.buffer);
- sp->so_targets[i]->mapping = buf;
+ void *buf = 0;
+ if (sp->so_targets[i]) {
+ buf = softpipe_resource(sp->so_targets[i]->target.buffer)->data;
+ sp->so_targets[i]->mapping = buf;
+ }
}
draw_set_mapped_so_targets(draw, sp->num_so_targets,
--
1.7.9.5
More information about the mesa-dev
mailing list