DirectXShaderCompiler icon indicating copy to clipboard operation
DirectXShaderCompiler copied to clipboard

IDxcResult output enumeration is reporting multiple DXC_OUT_NONE values and missing supported DXC_OUT_ values.

Open coopp opened this issue 10 months ago • 2 comments

Description Calling IDxcResult::GetNumOutputs( ) and enumerating outputs by index is returning incorrect results

Steps to Reproduce

IDxcResult* result; // Obtained from Compile( )

uint32_t numOutputs = result->GetNumOutputs();
std::cout << "Compiled result contains " << numOutputs << " outputs\n";
for (uint32_t i = 0; i < numOutputs; ++i)
{
    std::cout << result->GetOutputByIndex(i) << " found\n";
}

Actual Behavior The total number of supported outputs is correct, but DXC_OUT_NONE is reported multiple times.

Compiled result contains 6 outputs
Primary output is DXC_OUT_OBJECT
DXC_OUT_OBJECT found
DXC_OUT_ERRORS found
DXC_OUT_PDB found
DXC_OUT_HASH found
DXC_OUT_NONE found
DXC_OUT_NONE found

Environment

  • DXC version dxcompiler.dll: 1.8 - 1.8.2403.37 (11e1318c3); dxil.dll: 1.8(101.8.2403.24)
  • Host Operating System Windows 11

coopp avatar Apr 12 '24 00:04 coopp

@coopp - looks like the "Actual Behavior" section needs to be filled in.

damyanp avatar Apr 12 '24 15:04 damyanp

Actual behavior is filled in.

coopp avatar Apr 12 '24 16:04 coopp