For the moment, for graphics shaders, we compile each parts to combine them in a data chunk. We do that because in the future, all shaders will be compiled as librairies.
The consequence is that we cannot generate separate debug information for now. So we embed it into the main shader blob which is really bad.
When dxil lib are supported for graphics shader, provide pdb data and name to the output of the shader and use arguments.push_back(L"-Qstrip_debug");
arguments.push_back(L"-Qstrip_reflect");
to have a clean shaderblob.
Also, provide options for:
arguments.push_back(DXC_ARG_WARNINGS_ARE_ERRORS); //-WX
arguments.push_back(DXC_ARG_PACK_MATRIX_ROW_MAJOR); //-Zp
and custom defines and includes.
for (const std::wstring& define : defines)
{
arguments.push_back(L"-D");
arguments.push_back(define.c_str());
}*/
https://devblogs.microsoft.com/pix/using-automatic-shader-pdb-resolution-in-pix/
For the moment, for graphics shaders, we compile each parts to combine them in a data chunk. We do that because in the future, all shaders will be compiled as librairies.
The consequence is that we cannot generate separate debug information for now. So we embed it into the main shader blob which is really bad.
When dxil lib are supported for graphics shader, provide pdb data and name to the output of the shader and use arguments.push_back(L"-Qstrip_debug");
arguments.push_back(L"-Qstrip_reflect");
to have a clean shaderblob.
Also, provide options for:
arguments.push_back(DXC_ARG_WARNINGS_ARE_ERRORS); //-WX
arguments.push_back(DXC_ARG_PACK_MATRIX_ROW_MAJOR); //-Zp
and custom defines and includes.
https://devblogs.microsoft.com/pix/using-automatic-shader-pdb-resolution-in-pix/