From 2953d709942031db91edeaa8940c63cc5517bd65 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 21 May 2021 07:36:29 -0400 Subject: [PATCH] zink: export supported prim types this is now handled by gallium, so the related codepaths can be dropped Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_draw.c | 9 --------- src/gallium/drivers/zink/zink_screen.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index f228fa6..f44e438 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -426,15 +426,6 @@ zink_draw_vbo(struct pipe_context *pctx, util_draw_vbo_without_prim_restart(pctx, dinfo, drawid_offset, dindirect, &draws[0]); return; } - if (dinfo->mode == PIPE_PRIM_QUADS || - dinfo->mode == PIPE_PRIM_QUAD_STRIP || - dinfo->mode == PIPE_PRIM_POLYGON || - (dinfo->mode == PIPE_PRIM_TRIANGLE_FAN && !screen->have_triangle_fans) || - dinfo->mode == PIPE_PRIM_LINE_LOOP) { - util_primconvert_save_rasterizer_state(ctx->primconvert, &rast_state->base); - util_primconvert_draw_vbo(ctx->primconvert, dinfo, drawid_offset, dindirect, draws, num_draws); - return; - } if (ctx->gfx_pipeline_state.vertices_per_patch != dinfo->vertices_per_patch) ctx->gfx_pipeline_state.dirty = true; bool drawid_broken = ctx->drawid_broken; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index bf0b30e..4e2e3a2 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -243,6 +243,16 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return screen->info.feats.features.samplerAnisotropy; case PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART: return 1; + case PIPE_CAP_SUPPORTED_PRIM_MODES: { + uint32_t modes = BITFIELD_MASK(PIPE_PRIM_MAX); + modes &= ~BITFIELD_BIT(PIPE_PRIM_QUADS); + modes &= ~BITFIELD_BIT(PIPE_PRIM_QUAD_STRIP); + modes &= ~BITFIELD_BIT(PIPE_PRIM_POLYGON); + modes &= ~BITFIELD_BIT(PIPE_PRIM_LINE_LOOP); + if (!screen->have_triangle_fans) + modes &= ~BITFIELD_BIT(PIPE_PRIM_TRIANGLE_FAN); + return modes; + } case PIPE_CAP_QUERY_MEMORY_INFO: case PIPE_CAP_NPOT_TEXTURES: -- 2.7.4