draw: add support for num_samples + sample_stride to the image paths
[mesa.git] / src / gallium / drivers / llvmpipe / lp_draw_arrays.c
index 01f3cf3cdfca6ac49eda86c196a476db4435ed66..d9700cfd6d78a580e381cd3c65f38412d0306fc3 100644 (file)
@@ -105,6 +105,12 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
    llvmpipe_prepare_geometry_sampling(lp,
                                       lp->num_sampler_views[PIPE_SHADER_GEOMETRY],
                                       lp->sampler_views[PIPE_SHADER_GEOMETRY]);
+   llvmpipe_prepare_tess_ctrl_sampling(lp,
+                                       lp->num_sampler_views[PIPE_SHADER_TESS_CTRL],
+                                       lp->sampler_views[PIPE_SHADER_TESS_CTRL]);
+   llvmpipe_prepare_tess_eval_sampling(lp,
+                                       lp->num_sampler_views[PIPE_SHADER_TESS_EVAL],
+                                       lp->sampler_views[PIPE_SHADER_TESS_EVAL]);
 
    llvmpipe_prepare_vertex_images(lp,
                                   lp->num_images[PIPE_SHADER_VERTEX],
@@ -112,6 +118,12 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
    llvmpipe_prepare_geometry_images(lp,
                                     lp->num_images[PIPE_SHADER_GEOMETRY],
                                     lp->images[PIPE_SHADER_GEOMETRY]);
+   llvmpipe_prepare_tess_ctrl_images(lp,
+                                     lp->num_images[PIPE_SHADER_TESS_CTRL],
+                                     lp->images[PIPE_SHADER_TESS_CTRL]);
+   llvmpipe_prepare_tess_eval_images(lp,
+                                     lp->num_images[PIPE_SHADER_TESS_EVAL],
+                                     lp->images[PIPE_SHADER_TESS_EVAL]);
    if (lp->gs && lp->gs->no_tokens) {
       /* we have an empty geometry shader with stream output, so
          attach the stream output info to the current vertex shader */
@@ -122,6 +134,10 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
    draw_collect_pipeline_statistics(draw,
                                     lp->active_statistics_queries > 0);
 
+   draw_collect_primitives_generated(draw,
+                                     lp->active_primgen_queries &&
+                                     !lp->queries_disabled);
+
    /* draw! */
    draw_vbo(draw, info);