OSDN Git Service

スワップチェーンのフラグを、None から AllowModeSwitch に戻した。
[strokestylet/CsWin10Desktop3.git] / FDK24 / メディア / デバイスリソース.cs
index 6b9bdcf..85beea7 100644 (file)
@@ -38,7 +38,7 @@ namespace FDK.メディア
                        }
                }
                public SharpDX.MediaFoundation.DXGIDeviceManager DXGIDeviceManager => ( this.bs_DXGIDeviceManager );
-               public SharpDX.DXGI.SwapChain SwapChain => ( this.bs_SwapChain1 );
+               public SharpDX.DXGI.SwapChain1 SwapChain1 => ( this.bs_SwapChain1 );
                public SharpDX.Direct3D11.RenderTargetView D3DRenderTargetView => ( this.bs_D3DRenderTargetView );
                public SharpDX.Mathematics.Interop.RawViewportF[] D3DViewPort => ( this.bs_D3DViewPort );
                public SharpDX.Direct3D11.Texture2D D3DDepthStencil => ( this.bs_D3DDepthStencil );
@@ -91,7 +91,7 @@ namespace FDK.メディア
                                        var デバッグレベル = SharpDX.Direct2D1.DebugLevel.None;
 #if DEBUG
                                        // プロジェクトがデバッグビルドに含まれている場合は、Direct2D デバッグレイヤーを SDK レイヤーを介して有効にする。
-                                       //デバッグレベル = SharpDX.Direct2D1.DebugLevel.Information;
+                                       デバッグレベル = SharpDX.Direct2D1.DebugLevel.Information;
 #endif
                                        this.bs_D2DFactory2 = new SharpDX.Direct2D1.Factory2( SharpDX.Direct2D1.FactoryType.MultiThreaded, デバッグレベル );
                                }
@@ -155,7 +155,8 @@ namespace FDK.メディア
                                                        SampleDescription = new SharpDX.DXGI.SampleDescription( 1, 0 ),
                                                        SwapEffect = SharpDX.DXGI.SwapEffect.FlipDiscard,       // Windowsストアアプリはこれが必須。
                                                        Usage = SharpDX.DXGI.Usage.RenderTargetOutput,
-                                                       Flags = SharpDX.DXGI.SwapChainFlags.None,// SharpDX.DXGI.SwapChainFlags.AllowModeSwitch,        // ResizeTarget を使うなら必須
+                                                       //Flags = SharpDX.DXGI.SwapChainFlags.None,
+                                                       Flags = SharpDX.DXGI.SwapChainFlags.AllowModeSwitch,
                                                };
                                                this.bs_SwapChain1 = new SharpDX.DXGI.SwapChain1(
                                                        dxgiFactory2,
@@ -250,7 +251,7 @@ namespace FDK.メディア
 
                                #region " スワップチェーンのサイズを変更する。"
                                //----------------
-                               Debug.Assert( null != this.SwapChain ); // スワップチェーンは(デバイスとともに)すでに生成されていること。
+                               Debug.Assert( null != this.SwapChain1 ); // スワップチェーンは(デバイスとともに)すでに生成されていること。
 
                                // ResizeTarget は、全画面モードにしたとき、モニタ画面の解像度も変更する。
                                //var mode = new SharpDX.DXGI.ModeDescription(
@@ -262,12 +263,13 @@ namespace FDK.メディア
 
                                // ResizeBuffers は、全画面モードにしたとき、モニタの解像度を変更しない。
                                // ただし、swapChainFlags に AllowModeSwitch を指定すると変更される(ResizeTargetと同じ挙動になる)。
-                               this.SwapChain.ResizeBuffers(
+                               this.SwapChain1.ResizeBuffers(
                                        bufferCount: 2,
                                        width: (int) this.物理画面サイズpx.Width,
                                        height: (int) this.物理画面サイズpx.Height,
                                        newFormat: SharpDX.DXGI.Format.B8G8R8A8_UNorm,
-                                       swapChainFlags: SharpDX.DXGI.SwapChainFlags.None );
+                                       //swapChainFlags: SharpDX.DXGI.SwapChainFlags.None );
+                                       swapChainFlags: SharpDX.DXGI.SwapChainFlags.AllowModeSwitch );
                                //----------------
                                #endregion