amerkoleci/Vortice.Windows

IDxcCompilerArgs binding is wrong

Closed this issue · 4 comments

To reproduce, use IDxcUtils::BuildArguments. Then use the Arguments property on IDxcCompilerArgs. You will get out garbage.

It seems like the binder is treating the result as a string, when it is an array of strings.

Can you share a repro case please?

Can do this evening

namespace VorticeRepro
{
    internal class Program
    {
        static void Main()
        {
            using (var utils = Vortice.Dxc.Dxc.CreateDxcUtils())
            using (var args = utils.BuildArguments("test.hlsl", "test1", "lib_6_3", ["test2"], []))
            {
                Console.WriteLine(args.Arguments);
            }
        }
    }
}

This simple sample should produce some command line arguments, but instead, "??O" was printed. Looking at Arguments in the original C++ API, it is an array of strings rather than a single string, which is probably the issue.

Fixed by 420b46a

Thanks for repro case, version 3.5.6 beta is comming