@@ -142,38 +142,38 @@ private static async Task<List<WinMlEp>> GetSupportedHardwareAccelerators()
142142
143143 switch ( epName )
144144 {
145- case "VitisAIExecutionProvider" :
146- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . VitisAI , HardwareAccelerator . NPU ] , "VitisAIExecutionProvider" , "VitisAI" , "NPU" ) ) ;
145+ case ExecutionProviderNames . VitisAI :
146+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . VitisAI , HardwareAccelerator . NPU ] , ExecutionProviderNames . VitisAI , "VitisAI" , "NPU" ) ) ;
147147 break ;
148148
149- case "OpenVINOExecutionProvider" :
149+ case ExecutionProviderNames . OpenVINO :
150150 if ( epDeviceTypes . Contains ( "CPU" ) )
151151 {
152- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . CPU ] , "OpenVINOExecutionProvider" , "OpenVINO" , "CPU" ) ) ;
152+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . CPU ] , ExecutionProviderNames . OpenVINO , "OpenVINO" , "CPU" ) ) ;
153153 }
154154
155155 if ( epDeviceTypes . Contains ( "GPU" ) )
156156 {
157- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . GPU ] , "OpenVINOExecutionProvider" , "OpenVINO" , "GPU" ) ) ;
157+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . GPU ] , ExecutionProviderNames . OpenVINO , "OpenVINO" , "GPU" ) ) ;
158158 }
159159
160160 if ( epDeviceTypes . Contains ( "NPU" ) )
161161 {
162- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . NPU ] , "OpenVINOExecutionProvider" , "OpenVINO" , "NPU" ) ) ;
162+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . OpenVINO , HardwareAccelerator . NPU ] , ExecutionProviderNames . OpenVINO , "OpenVINO" , "NPU" ) ) ;
163163 }
164164
165165 break ;
166166
167- case "QNNExecutionProvider" :
168- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . QNN , HardwareAccelerator . NPU ] , "QNNExecutionProvider" , "QNN" , "NPU" ) ) ;
167+ case ExecutionProviderNames . QNN :
168+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . QNN , HardwareAccelerator . NPU ] , ExecutionProviderNames . QNN , "QNN" , "NPU" ) ) ;
169169 break ;
170170
171- case "DmlExecutionProvider" :
172- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . DML , HardwareAccelerator . GPU ] , "DmlExecutionProvider" , "DML" , "GPU" ) ) ;
171+ case ExecutionProviderNames . DML :
172+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . DML , HardwareAccelerator . GPU ] , ExecutionProviderNames . DML , "DML" , "GPU" ) ) ;
173173 break ;
174174
175- case "NvTensorRTRTXExecutionProvider" :
176- supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . NvTensorRT , HardwareAccelerator . GPU ] , "NvTensorRTRTXExecutionProvider" , "NvTensorRT" , "GPU" ) ) ;
175+ case ExecutionProviderNames . NvTensorRTRTX :
176+ supportedHardwareAccelerators . Add ( new ( [ HardwareAccelerator . NvTensorRT , HardwareAccelerator . GPU ] , ExecutionProviderNames . NvTensorRTRTX , "NvTensorRT" , "GPU" ) ) ;
177177 break ;
178178 }
179179 }
@@ -193,7 +193,13 @@ private async void HandleModelSelectionChanged(List<ModelDetails?> selectedModel
193193 VisualStateManager . GoToState ( this , "PageLoading" , true ) ;
194194
195195 modelDetails . Clear ( ) ;
196- selectedModels . ForEach ( modelDetails . Add ) ;
196+ foreach ( var model in selectedModels )
197+ {
198+ if ( model != null )
199+ {
200+ modelDetails . Add ( model ! ) ;
201+ }
202+ }
197203
198204 // temporary fix EP dropdown list for useradded local languagemodel
199205 if ( selectedModels . Any ( m => m != null && m . IsOnnxModel ( ) && string . IsNullOrEmpty ( m . ParameterSize ) && m . Id . StartsWith ( "useradded-local-languagemodel" , System . StringComparison . InvariantCultureIgnoreCase ) == false ) )
@@ -316,7 +322,7 @@ private void LoadSample(Sample? sampleToLoad)
316322
317323 // TODO: don't load sample if model is not cached, but still let code to be seen
318324 // this would probably be handled in the SampleContainer
319- _ = SampleContainer . LoadSampleAsync ( sample , [ .. modelDetails ] , App . AppData . WinMLSampleOptions ) ;
325+ _ = SampleContainer . LoadSampleAsync ( sample , modelDetails . Where ( m => m != null ) . Select ( m => m ! ) . ToList ( ) , App . AppData . WinMLSampleOptions ) ;
320326 _ = App . AppData . AddMru (
321327 new MostRecentlyUsedItem ( )
322328 {
0 commit comments