From 4e777bb19b4649f5adcb9a93b06898f1b59b5868 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Mon, 12 Aug 2024 11:20:27 +0800 Subject: [PATCH] zink: do not expose quad support when no geometry shader The emulation of quads implemented in Zink utilizes geometry shaders, but currently the enablement of it is only guarded by the support of triangle strips. Add geometry shaders to the condition to enable it either too. Signed-off-by: Icenowy Zheng Part-of: --- src/gallium/drivers/zink/zink_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 0af78cfe536..ed2c3b2fbbe 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -570,7 +570,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) } case PIPE_CAP_SUPPORTED_PRIM_MODES: { uint32_t modes = BITFIELD_MASK(MESA_PRIM_COUNT); - if (!screen->have_triangle_fans) + if (!screen->have_triangle_fans || !screen->info.feats.features.geometryShader) modes &= ~BITFIELD_BIT(MESA_PRIM_QUADS); modes &= ~BITFIELD_BIT(MESA_PRIM_QUAD_STRIP); modes &= ~BITFIELD_BIT(MESA_PRIM_POLYGON);