zink: stop zink_set_primitive_emulation_keys producing geometry shaders on platforms that do not support them.

If line smooth, stipple, quad_prims and a collection of other things are needed, zink produces a geometry shader to create them.

This code is disabling that from happening when there is no geometry shader support.
This removes a constant barrage of validation issues when trying to draw basic triangles.
Some of this missing functionality will be added back in later.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33059>
This commit is contained in:
duncan.hopkins 2025-01-22 11:01:00 +00:00 committed by Marge Bot
parent 6a4c99adf1
commit 4fa9c7d241

View file

@ -2501,6 +2501,9 @@ void
zink_set_primitive_emulation_keys(struct zink_context *ctx)
{
struct zink_screen *screen = zink_screen(ctx->base.screen);
if (!screen->info.feats.features.geometryShader)
return;
bool lower_line_stipple = false, lower_line_smooth = false;
unsigned lower_pv_mode = 0;
if (!screen->optimal_keys) {