From 567699f0487e514ae647870160292ee3977835ff Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 21 Apr 2021 12:09:45 +0200 Subject: [PATCH] zink: always enable fixed shader-caps This is required for a bunch of stuff that can occur in any Vulkan shader stage, not just these few. So let's always emit this cap. Reviewed-By: Mike Blumenkrantz Part-of: --- .../drivers/zink/nir_to_spirv/nir_to_spirv.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index 807186ad946..6eff7518225 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -3576,15 +3576,11 @@ nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info, bool spir if (!ctx.glsl_types) goto fail; - switch (s->info.stage) { - case MESA_SHADER_VERTEX: - case MESA_SHADER_FRAGMENT: - case MESA_SHADER_COMPUTE: - spirv_builder_emit_cap(&ctx.builder, SpvCapabilityShader); - spirv_builder_emit_cap(&ctx.builder, SpvCapabilityImageBuffer); - spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampledBuffer); - break; + spirv_builder_emit_cap(&ctx.builder, SpvCapabilityShader); + spirv_builder_emit_cap(&ctx.builder, SpvCapabilityImageBuffer); + spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampledBuffer); + switch (s->info.stage) { case MESA_SHADER_TESS_CTRL: case MESA_SHADER_TESS_EVAL: spirv_builder_emit_cap(&ctx.builder, SpvCapabilityTessellation); @@ -3601,8 +3597,7 @@ nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info, bool spir spirv_builder_emit_cap(&ctx.builder, SpvCapabilityGeometryPointSize); break; - default: - unreachable("invalid stage"); + default: ; } ctx.info = &s->info;