@@ -175,25 +175,26 @@ private void InitializeFromImpl(DataBox[] dataBoxes = null)
175175 NativeRenderTargetView = GetRenderTargetView ( ViewType , ArraySlice , MipLevel ) ;
176176 NativeDepthStencilView = GetDepthStencilView ( out HasStencil ) ;
177177
178- switch ( textureDescription . Options )
178+ if ( textureDescription . Options == TextureOptions . None )
179179 {
180- case TextureOptions . None :
181- SharedHandle = IntPtr . Zero ;
182- break ;
183- case TextureOptions . Shared :
184- var sharedResource = NativeDeviceChild . QueryInterface < SharpDX . DXGI . Resource > ( ) ;
185- SharedHandle = sharedResource . SharedHandle ;
186- break ;
180+ SharedHandle = IntPtr . Zero ;
181+ }
187182#if STRIDE_GRAPHICS_API_DIRECT3D11
188- case TextureOptions . SharedNthandle | TextureOptions. SharedKeyedmutex:
189- var sharedResource1 = NativeDeviceChild . QueryInterface < SharpDX . DXGI . Resource1 > ( ) ;
190- var uniqueName = "Stride:" + Guid . NewGuid ( ) . ToString ( ) ;
191- SharedHandle = sharedResource1 . CreateSharedHandle ( uniqueName , SharpDX . DXGI . SharedResourceFlags . Write ) ;
192- SharedNtHandleName = uniqueName ;
193- break ;
183+ else if ( ( textureDescription . Options & TextureOptions . SharedNthandle ) != 0 )
184+ {
185+ var sharedResource1 = NativeDeviceChild. QueryInterface < SharpDX . DXGI . Resource1 > ( ) ;
186+ var uniqueName = "Stride:" + Guid . NewGuid ( ) . ToString ( ) ;
187+ SharedHandle = sharedResource1 . CreateSharedHandle ( uniqueName , SharpDX . DXGI . SharedResourceFlags . Write ) ;
188+ SharedNtHandleName = uniqueName ;
189+ }
194190#endif
195- default :
196- throw new ArgumentOutOfRangeException ( "textureDescription.Options" ) ;
191+ else if ( ( textureDescription . Options & TextureOptions . Shared ) != 0 ) {
192+ var sharedResource = NativeDeviceChild. QueryInterface < SharpDX . DXGI . Resource > ( ) ;
193+ SharedHandle = sharedResource . SharedHandle ;
194+ }
195+ else
196+ {
197+ throw new ArgumentOutOfRangeException( "textureDescription. Options") ;
197198 }
198199 }
199200
0 commit comments