X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fzink%2Fnir_to_spirv%2Fnir_to_spirv.c;h=af1ddef11bdf0f6c80abf3bbe5d77ae896a46d04;hb=8405e1bef0cfa99a2e5e865cf5f933fddbd35222;hp=34bb14379c4b2b963703c04d557a3790f0473e2d;hpb=f12b844e7c284f691323d4f77f2fd94c648e37e0;p=mesa.git 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 34bb14379c4..af1ddef11bd 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 @@ -911,7 +911,11 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu) UNOP(nir_op_ineg, SpvOpSNegate) UNOP(nir_op_fneg, SpvOpFNegate) UNOP(nir_op_fddx, SpvOpDPdx) + UNOP(nir_op_fddx_coarse, SpvOpDPdxCoarse) + UNOP(nir_op_fddx_fine, SpvOpDPdxFine) UNOP(nir_op_fddy, SpvOpDPdy) + UNOP(nir_op_fddy_coarse, SpvOpDPdyCoarse) + UNOP(nir_op_fddy_fine, SpvOpDPdyFine) UNOP(nir_op_f2i32, SpvOpConvertFToS) UNOP(nir_op_f2u32, SpvOpConvertFToU) UNOP(nir_op_i2f32, SpvOpConvertSToF) @@ -1846,6 +1850,7 @@ nir_to_spirv(struct nir_shader *s) if (s->info.stage == MESA_SHADER_FRAGMENT) { spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampled1D); spirv_builder_emit_cap(&ctx.builder, SpvCapabilityImageQuery); + spirv_builder_emit_cap(&ctx.builder, SpvCapabilityDerivativeControl); } ctx.stage = s->info.stage;