Hi all,
I have troubles getting the PDB part out of my IDxcResult.
I compile HLSL for D3D12 and for Vulkan SPIRV using the same DXC, using IDxcCompiler3::Compile, with pretty much the same “command line” arguments (the only extras are -spirv itself and some -fvk options).
With D3D12, I can simply do IDxcResult::GetOutput(DXC_OUT_PDB, IID_PPV_ARGS(&pdbBlob), &pdbName)
and it succesfully returns a good PDB blob.
With SPIRV, however, there's no such PDB part in my compilation output :(
Of course, I do have “-Zi”. I tried all the thinkable arguments, nothing changed it.
Running from command line:
dxc my.vs -spirv -T vs_6_0 -Zi -Fo my.bin
with the same DLL as the API version yields the expected results, i.e. my.bin contains my source code, etc.. The DLL version I'm trying is 1.6.0.3336, but it's the same with 1.5.
What could I be forgetting? Without -spirv, it works just fine. The SPIRV shaders themselves also work fine, I just miss the PDBs. Thanks for any ideas!