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?