Francisco Casas (@fcasas) commented about libs/vkd3d-shader/hlsl.c:
return VKD3D_ERROR_NOT_IMPLEMENTED; }
- if (!(entry_func = hlsl_get_func_decl(&ctx, entry_point)))
- if ((func = hlsl_get_function(&ctx, entry_point)))
- {
RB_FOR_EACH_ENTRY(decl, &func->overloads, struct hlsl_ir_function_decl, entry)
{
if (!decl->has_body)
continue;
entry_func = decl;
break;
}
Since, in case of multiple overloads with definitions, we are still selecting the one that comes first in the order given by `compare_function_decl_rb()` -- which depends on the parameter types -- but in !65 it was mentioned that in native it depends on the .dll version and the order in which the declarations appear, I would suggest displaying a `FIXME`:
```c RB_FOR_EACH_ENTRY(decl, &func->overloads, struct hlsl_ir_function_decl, entry) { if (!decl->has_body) continue; if (entry_func) { FIXME("Multiple valid entry point definitions.\n"); break; } entry_func = decl; } ```