Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
}
+static void sm6_parser_emit_dx_domain_location(struct sm6_parser *sm6, enum dx_intrinsic_opcode op, + const struct sm6_value **operands, struct function_emission_state *state) +{ + struct vkd3d_shader_instruction *ins = state->ins; + struct vkd3d_shader_src_param *src_param; + + sm6_parser_dcl_register_builtin(sm6, VKD3DSPR_TESSCOORD, VKD3D_DATA_FLOAT, 3); + + vsir_instruction_init(ins, &sm6->p.location, VKD3DSIH_MOV); + if (!(src_param = instruction_src_params_alloc(ins, 1, sm6))) + return; + vsir_register_init(&src_param->reg, VKD3DSPR_TESSCOORD, VKD3D_DATA_FLOAT, 0); + src_param->reg.dimension = VSIR_DIMENSION_VEC4; + src_param_init_scalar(src_param, sm6_value_get_constant_uint(operands[0])); Shouldn't the value be validated?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/768#note_67301