Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.h:
bool hlsl_fold_constant_exprs(struct hlsl_ctx *ctx, struct hlsl_ir_node *instr, void *context); bool hlsl_fold_constant_swizzles(struct hlsl_ctx *ctx, struct hlsl_ir_node *instr, void *context); +bool transform_ir(struct hlsl_ctx *ctx, bool (*func)(struct hlsl_ctx *ctx, struct hlsl_ir_node *, void *),
struct hlsl_block *block, void *context);
If we're going to make that function non-static it should really have a hlsl_ prefix. Honestly it may be prettier just to add a wrapper, though, seeing as we may need to do multiple different passes.