Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/spirv.c:
int_min_id = spirv_compiler_get_constant_float_vector(compiler, -2147483648.0f, component_count); val_id = vkd3d_spirv_build_op_glsl_std450_max(builder, src_type_id, src_id, int_min_id);
- /* DXIL uses unsigned int but requires a signed conversion. */
I'm not sure this is appropriate. This is the SPIR-V backend, and it should work independently of where the VSIR code it processes was generated. If DXIL confuses signed and unsigned data and VSIR does not, this mismatch should be resolved in the DXIL frontend, not here.