Mesa (main): zink: export supported prim types
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 23 03:52:35 UTC 2021
Module: Mesa
Branch: main
Commit: 2953d709942031db91edeaa8940c63cc5517bd65
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2953d709942031db91edeaa8940c63cc5517bd65
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Fri May 21 07:36:29 2021 -0400
zink: export supported prim types
this is now handled by gallium, so the related codepaths can be dropped
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10973>
---
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 f228fa69542..f44e438f074 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 bf0b30e8f72..4e2e3a29656 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:
More information about the mesa-commit
mailing list