fix sdl bugs for uninitialized variables and returns (#6450)

Co-authored-by: Ori Levari <orlevari@microsoft.com>
This commit is contained in:
Ori Levari 2021-01-29 15:00:44 -08:00 committed by GitHub
parent 76f5d9edc6
commit 531eb064ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 6 deletions

View file

@ -130,6 +130,8 @@ ORT_API_STATUS_IMPL(winmla::DmlCreateGPUAllocationFromD3DResource, _In_ ID3D12Re
API_IMPL_BEGIN
#ifdef USE_DML
*dml_resource = Dml::CreateGPUAllocationFromD3DResource(pResource);
#else
*dml_resource = nullptr;
#endif // USE_DML USE_DML
return nullptr;
API_IMPL_END
@ -144,6 +146,8 @@ ORT_API_STATUS_IMPL(winmla::DmlGetD3D12ResourceFromAllocation, _In_ OrtExecution
dml_provider_internal->GetAllocator(0, ::OrtMemType::OrtMemTypeDefault).get(),
allocation);
(*d3d_resource)->AddRef();
#else
*d3d_resource = nullptr;
#endif // USE_DML USE_DML
return nullptr;
API_IMPL_END

View file

@ -195,6 +195,8 @@ ORT_API_STATUS_IMPL(winmla::CreateCustomRegistry, _Out_ IMLOperatorRegistry** re
#ifdef USE_DML
auto impl = wil::MakeOrThrow<winmla::AbiCustomRegistryImpl>();
*registry = impl.Detach();
#else
*registry = nullptr;
#endif // USE_DML
return nullptr;
API_IMPL_END

View file

@ -309,11 +309,11 @@ ID3D12RootSignature* D3DDeviceCache::GetTensorizeRootSignature() {
// Compute root signature.
{
CD3DX12_DESCRIPTOR_RANGE1 ranges[2];
CD3DX12_DESCRIPTOR_RANGE1 ranges[2] = {};
ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE);
ranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_UAV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE);
CD3DX12_ROOT_PARAMETER1 rootParameters[3];
CD3DX12_ROOT_PARAMETER1 rootParameters[3] = {};
rootParameters[0].InitAsConstants(4, 0);
rootParameters[1].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_ALL);
rootParameters[2].InitAsDescriptorTable(1, &ranges[1], D3D12_SHADER_VISIBILITY_ALL);
@ -354,11 +354,11 @@ ID3D12RootSignature* D3DDeviceCache::GetDetensorizeRootSignature() {
// Compute root signature.
{
CD3DX12_DESCRIPTOR_RANGE1 ranges[2];
CD3DX12_DESCRIPTOR_RANGE1 ranges[2] = {};
ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE);
ranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_UAV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE);
CD3DX12_ROOT_PARAMETER1 rootParameters[3];
CD3DX12_ROOT_PARAMETER1 rootParameters[3] = {};
rootParameters[0].InitAsConstants(4, 0);
rootParameters[1].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_ALL);
rootParameters[2].InitAsDescriptorTable(1, &ranges[1], D3D12_SHADER_VISIBILITY_ALL);

View file

@ -161,7 +161,7 @@ void LoadAndPurloinModel(const UniqueOrtSession& session, const std::string& mod
winrt::com_ptr<_winml::IOnnxruntimeModel> onnxruntime_model;
WINML_EXPECT_NO_THROW(onnxruntime_model = model.as<_winml::IOnnxruntimeModel>());
OrtModel* ort_model;
OrtModel* ort_model = nullptr;
WINML_EXPECT_HRESULT_SUCCEEDED(onnxruntime_model->DetachOrtModel(&ort_model));
THROW_IF_NOT_OK_MSG(winml_adapter_api->SessionLoadAndPurloinModel(session.get(), ort_model), ort_api);
}
@ -182,7 +182,7 @@ void Initialize() {
winrt::com_ptr<_winml::IOnnxruntimeModel> onnxruntime_model;
WINML_EXPECT_NO_THROW(onnxruntime_model = model.as<_winml::IOnnxruntimeModel>());
OrtModel* ort_model;
OrtModel* ort_model = nullptr;
WINML_EXPECT_HRESULT_SUCCEEDED(onnxruntime_model->DetachOrtModel(&ort_model));
THROW_IF_NOT_OK_MSG(winml_adapter_api->SessionLoadAndPurloinModel(session.get(), ort_model), ort_api);