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?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/767#note_67286