Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
- }
- if (node->operand_count > 7)
- {
WARN("Ignoring %u extra operands.\n", node->operand_count - 7);
vkd3d_shader_parser_warning(&sm6->p, VKD3D_SHADER_WARNING_DXIL_IGNORING_OPERANDS,
"Ignoring %u extra operands for hull shader properties.", node->operand_count - 7);
- }
- if (!sm6_metadata_value_is_value(node->operands[0]))
- {
WARN("Patch constant function node is not a value.\n");
vkd3d_shader_parser_error(&sm6->p, VKD3D_SHADER_ERROR_DXIL_INVALID_PROPERTIES,
"Hull shader patch constant function node is not a value.");
- }
- else
- {
sm6->patch_constant_function = node->operands[0]->u.value->u.function.name;
Shouldn't you check that that value is indeed a function and you can access its name?