info->index_size, available_space);
}
- for (i = 0; i < lp->num_so_targets; i++) {
- void *buf = 0;
- if (lp->so_targets[i]) {
- buf = llvmpipe_resource(lp->so_targets[i]->target.buffer)->data;
- lp->so_targets[i]->mapping = buf;
- }
- }
- draw_set_mapped_so_targets(draw, lp->num_so_targets,
- lp->so_targets);
-
llvmpipe_prepare_vertex_sampling(lp,
lp->num_sampler_views[PIPE_SHADER_VERTEX],
lp->sampler_views[PIPE_SHADER_VERTEX]);
if (mapped_indices) {
draw_set_indexes(draw, NULL, 0, 0);
}
- draw_set_mapped_so_targets(draw, 0, NULL);
if (lp->gs && lp->gs->no_tokens) {
/* we have attached stream output to the vs for rendering,
if (!append && llvmpipe->so_targets[i]) {
llvmpipe->so_targets[i]->internal_offset = offsets[i];
}
+
+ if (targets[i]) {
+ void *buf = llvmpipe_resource(targets[i]->buffer)->data;
+ llvmpipe->so_targets[i]->mapping = buf;
+ }
}
for (; i < llvmpipe->num_so_targets; i++) {
pipe_so_target_reference((struct pipe_stream_output_target **)&llvmpipe->so_targets[i], NULL);
}
llvmpipe->num_so_targets = num_targets;
+
+ draw_set_mapped_so_targets(llvmpipe->draw, llvmpipe->num_so_targets,
+ llvmpipe->so_targets);
}
void