diff options
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/draw/draw_pt.c')
-rw-r--r-- | lib/mesa/src/gallium/auxiliary/draw/draw_pt.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/lib/mesa/src/gallium/auxiliary/draw/draw_pt.c b/lib/mesa/src/gallium/auxiliary/draw/draw_pt.c index 986f87e01..24ac05427 100644 --- a/lib/mesa/src/gallium/auxiliary/draw/draw_pt.c +++ b/lib/mesa/src/gallium/auxiliary/draw/draw_pt.c @@ -32,7 +32,6 @@ #include "draw/draw_context.h" #include "draw/draw_gs.h" -#include "draw/draw_tess.h" #include "draw/draw_private.h" #include "draw/draw_pt.h" #include "draw/draw_vbuf.h" @@ -67,24 +66,16 @@ draw_pt_arrays(struct draw_context *draw, */ { unsigned first, incr; - - if (prim == PIPE_PRIM_PATCHES) { - first = draw->pt.vertices_per_patch; - incr = draw->pt.vertices_per_patch; - } else - draw_pt_split_prim(prim, &first, &incr); + draw_pt_split_prim(prim, &first, &incr); count = draw_pt_trim_count(count, first, incr); if (count < first) return TRUE; } if (!draw->force_passthrough) { - unsigned out_prim = prim; - - if (draw->gs.geometry_shader) - out_prim = draw->gs.geometry_shader->output_primitive; - else if (draw->tes.tess_eval_shader) - out_prim = get_tes_output_prim(draw->tes.tess_eval_shader); + unsigned gs_out_prim = (draw->gs.geometry_shader ? + draw->gs.geometry_shader->output_primitive : + prim); if (!draw->render) { opt |= PT_PIPELINE; @@ -92,7 +83,7 @@ draw_pt_arrays(struct draw_context *draw, if (draw_need_pipeline(draw, draw->rasterizer, - out_prim)) { + gs_out_prim)) { opt |= PT_PIPELINE; } @@ -496,8 +487,6 @@ draw_vbo(struct draw_context *draw, draw->pt.user.eltSize = info->index_size ? draw->pt.user.eltSizeIB : 0; draw->pt.user.drawid = info->drawid; - draw->pt.vertices_per_patch = info->vertices_per_patch; - if (0) debug_printf("draw_vbo(mode=%u start=%u count=%u):\n", info->mode, info->start, count); |