From a3fa3b2e025f2a7d1eed45b332a89bc0d66ee0e4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Sun, 17 Sep 2017 11:28:21 +0200 Subject: [PATCH] radeonsi: deduce rast_prim correctly for tessellation point mode MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Together with the previous patches, this fixes dEQP-GLES31.functional.primitive_bounding_box.wide_points.* Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák --- src/gallium/drivers/radeonsi/si_state_draw.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index fb91d936c96..42807c03091 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -1249,9 +1249,12 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) * current_rast_prim for this draw_vbo call. */ if (sctx->gs_shader.cso) rast_prim = sctx->gs_shader.cso->gs_output_prim; - else if (sctx->tes_shader.cso) - rast_prim = sctx->tes_shader.cso->info.properties[TGSI_PROPERTY_TES_PRIM_MODE]; - else + else if (sctx->tes_shader.cso) { + if (sctx->tes_shader.cso->info.properties[TGSI_PROPERTY_TES_POINT_MODE]) + rast_prim = PIPE_PRIM_POINTS; + else + rast_prim = sctx->tes_shader.cso->info.properties[TGSI_PROPERTY_TES_PRIM_MODE]; + } else rast_prim = info->mode; if (rast_prim != sctx->b.current_rast_prim) { -- 2.30.2