On Wed Jan 25 21:29:22 2023 +0000, Francisco Casas wrote:
Actually it seems that the chosen function depends on the version of the compiler! fxc 9.29.952.3111 (`d3d_compiler43.dll`) seems to load the first `main()`, while fxc 10.1 (`d3d_compiler47.dll`) seems to load the second, at least for me.
Indeed. Nice. Some further testing implies that 43 always picks the first function, and 47 always picks the last, i.e. the arguments don't matter.
(Side note, that version number seems to come from the d3dcompiler dll, not fxc. At least, I get the same version number in native disassembly.)
46 behaves like 47.
I think this is the first difference in behaviour we've found that we're actually going to want to put effort into emulating. We'll have to figure out a way to deal with it in the tests...