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);