diff --git a/winml/adapter/winml_adapter_dml.cpp b/winml/adapter/winml_adapter_dml.cpp index 25ce5a13ee..c3cfe12f3d 100644 --- a/winml/adapter/winml_adapter_dml.cpp +++ b/winml/adapter/winml_adapter_dml.cpp @@ -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 diff --git a/winml/adapter/winml_adapter_session.cpp b/winml/adapter/winml_adapter_session.cpp index 746b449986..ea2cfc65ce 100644 --- a/winml/adapter/winml_adapter_session.cpp +++ b/winml/adapter/winml_adapter_session.cpp @@ -195,6 +195,8 @@ ORT_API_STATUS_IMPL(winmla::CreateCustomRegistry, _Out_ IMLOperatorRegistry** re #ifdef USE_DML auto impl = wil::MakeOrThrow(); *registry = impl.Detach(); +#else + *registry = nullptr; #endif // USE_DML return nullptr; API_IMPL_END diff --git a/winml/lib/Api.Image/D3DDeviceCache.cpp b/winml/lib/Api.Image/D3DDeviceCache.cpp index 32a0a839ac..b793dfacf7 100644 --- a/winml/lib/Api.Image/D3DDeviceCache.cpp +++ b/winml/lib/Api.Image/D3DDeviceCache.cpp @@ -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); diff --git a/winml/test/adapter/AdapterSessionTest.cpp b/winml/test/adapter/AdapterSessionTest.cpp index 9dc7dee188..436eca32e3 100644 --- a/winml/test/adapter/AdapterSessionTest.cpp +++ b/winml/test/adapter/AdapterSessionTest.cpp @@ -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);