diff --git a/src/gallium/drivers/d3d12/d3d12_compiler.cpp b/src/gallium/drivers/d3d12/d3d12_compiler.cpp index f52ce424c86..da42eb14954 100644 --- a/src/gallium/drivers/d3d12/d3d12_compiler.cpp +++ b/src/gallium/drivers/d3d12/d3d12_compiler.cpp @@ -1590,7 +1590,13 @@ bool d3d12_validation_tools::validate_and_sign(struct blob *dxil) validator->Validate(&source, DxcValidatorFlags_InPlaceEdit, &result); HRESULT validationStatus; result->GetStatus(&validationStatus); - if (FAILED(validationStatus) && library) { + if (FAILED(validationStatus)) { + if (!library) { + debug_printf("D3D12: validation failed, but lacking " + "IDxcLibrary for proper diagnostics.\n"); + return false; + } + ComPtr printBlob, printBlobUtf8; result->GetErrorBuffer(&printBlob); library->GetBlobAsUtf8(printBlob.Get(), printBlobUtf8.GetAddressOf());