diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 44c960b6e00..34bfe1fc04e 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -566,6 +566,8 @@ 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) + modes &= ~BITFIELD_BIT(MESA_PRIM_QUADS); modes &= ~BITFIELD_BIT(MESA_PRIM_QUAD_STRIP); modes &= ~BITFIELD_BIT(MESA_PRIM_POLYGON); modes &= ~BITFIELD_BIT(MESA_PRIM_LINE_LOOP);