<p>The <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong> interface represents a display sub-system (including one or more GPU's, DACs and video memory).</p>
</summary>
<remarks>
<p>A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.</p><p>To enumerate the display sub-systems, use <strong><seecref="M:SharpDX.DXGI.Factory.GetAdapter(System.Int32)"/></strong>. To get an interface to the adapter for a particular device, use <strong><seecref="M:SharpDX.DXGI.Device.GetAdapter(SharpDX.DXGI.Adapter@)"/></strong>. To create a software adapter, use <strong><seecref="M:SharpDX.DXGI.Factory.CreateSoftwareAdapter(System.IntPtr)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter']/*"/>
<msdn-id>bb174523</msdn-id>
<unmanaged>IDXGIAdapter</unmanaged>
<unmanaged-short>IDXGIAdapter</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.DXGIObject">
<summary>
<p>An <strong><seecref="T:SharpDX.DXGI.DXGIObject"/></strong> interface is a base interface for all DXGI objects; <strong><seecref="T:SharpDX.DXGI.DXGIObject"/></strong> supports associating caller-defined (private data) with an object and retrieval of an interface to the parent object.</p>
</summary>
<remarks>
<p><strong><seecref="T:SharpDX.DXGI.DXGIObject"/></strong> implements base class functionality for several other interfaces: <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong>, <strong><seecref="T:SharpDX.DXGI.Device"/></strong>, <strong><seecref="T:SharpDX.DXGI.Factory"/></strong>, <strong><seecref="T:SharpDX.DXGI.Output"/></strong></p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIObject']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.DXGIObject"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Sets application-defined data to the object and associates that data with a <seecref="T:System.Guid"/>.</p>
</summary>
<paramname="name"><dd><p>A <seecref="T:System.Guid"/> that identifies the data. Use this <seecref="T:System.Guid"/> in a call to <strong>GetPrivateData</strong> to get the data.</p></dd></param>
<paramname="dataSize"><dd><p>The size of the object's data.</p></dd></param>
<paramname="dataRef"><dd><p>A reference to the object's data.</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong>SetPrivateData</strong> makes a copy of the specified data and stores it with the object.</p><p>Private data that <strong>SetPrivateData</strong> stores in the object occupies the same storage space as private data that is stored by associated Direct3D objects (for example, by a Microsoft Direct3D?11 device through <strong><seecref="!:SharpDX.Direct3D11.Device.SetPrivateData"/></strong> or by a Direct3D?11 child device through <strong><seecref="!:SharpDX.Direct3D11.DeviceChild.SetPrivateData"/></strong>).</p><p>The debug layer reports memory leaks by outputting a list of object interface references along with their friendly names. The default friendly name is "<unnamed>". You can set the friendly name so that you can determine if the corresponding object interface reference caused the leak. To set the friendly name, use the <strong>SetPrivateData</strong> method and the well-known private data <seecref="T:System.Guid"/> (<strong><seecref="F:SharpDX.Direct3D.CommonGuid.DebugObjectName"/></strong>) that is in D3Dcommon.h. For example, to give pContext a friendly name of <em>My name</em>, use the following code:</p><pre><code> static const char c_szName[] = "My name";
</code></pre><p>You can use <strong><seecref="F:SharpDX.Direct3D.CommonGuid.DebugObjectName"/></strong> to track down memory leaks and understand performance characteristics of your applications. This information is reflected in the output of the debug layer that is related to memory leaks (<strong>ID3D11Debug::ReportLiveDeviceObjects</strong>) and with the event tracing for Windows events that we've added to Windows Developer Preview.
</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIObject::SetPrivateData']/*"/>
<p>Set an interface in the object's private data.</p>
</summary>
<paramname="name"><dd><p>A <seecref="T:System.Guid"/> identifying the interface.</p></dd></param>
<paramname="unknownRef"><dd><p>The interface to set.</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>This API associates an interface reference with the object.</p><p>When the interface is set its reference count is incremented. When the data are overwritten (by calling SPD or SPDI with the same <seecref="T:System.Guid"/>) or the object is destroyed, ::Release() is called and the interface's reference count is decremented.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIObject::SetPrivateDataInterface']/*"/>
<paramname="name"><dd><p>A <seecref="T:System.Guid"/> identifying the data.</p></dd></param>
<paramname="dataSizeRef"><dd><p>The size of the data.</p></dd></param>
<paramname="dataRef"><dd><p>Pointer to the data.</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>If the data returned is a reference to an <seecref="T:SharpDX.ComObject"/>, or one of its derivative classes, previously set by <strong><seecref="M:SharpDX.DXGI.DXGIObject.SetPrivateDataInterface(System.Guid,SharpDX.ComObject)"/></strong>, then ::Release() must be called on the reference before the reference is freed to decrement the reference count.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIObject::GetPrivateData']/*"/>
<paramname="riid"><dd><p>The ID of the requested interface.</p></dd></param>
<paramname="parentOut"><dd><p>The address of a reference to the parent object.</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIObject::GetParent']/*"/>
<paramname="outputIndex">The index of the output.</param>
<returns>
An instance of <seecref="T:SharpDX.DXGI.Output"/>
</returns>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<remarks>
When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs.
</remarks>
<exceptioncref="T:SharpDX.SharpDXException">if the index is greater than the number of outputs, result code <seecref="F:SharpDX.DXGI.ResultCode.NotFound"/></exception>
<msdn-id>bb174525</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Adapter"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<paramname="output"><dd><p>The index of the output.</p></dd></param>
<paramname="outputOut"><dd><p>The address of a reference to an <strong><seecref="T:SharpDX.DXGI.Output"/></strong> interface at the position specified by the <em>Output</em> parameter.</p></dd></param>
<returns><p>A code that indicates success or failure (see DXGI_ERROR). Will return <seecref="F:SharpDX.DXGI.ResultCode.NotFound"/> if the index is greater than the number of outputs.</p></returns>
<remarks>
<p>When the <strong>EnumOutputs</strong> method succeeds and fills the <em>ppOutput</em> parameter with the address of the reference to the output interface, <strong>EnumOutputs</strong> increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the <strong>Release</strong> method to decrement the reference count.</p><p><strong>EnumOutputs</strong> first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. <strong>EnumOutputs</strong> then returns other outputs.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter::EnumOutputs']/*"/>
<msdn-id>bb174525</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<p>Gets a DXGI 1.0 description of an adapter (or video card).</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.AdapterDescription"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.</p><ul><li> Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API. <pre><code> HasWDDMDriver()
{ LPDIRECT3DCREATE9EX pD3D9Create9Ex = <c>null</c>; HMODULE hD3D9 = <c>null</c>; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( <c>null</c> == hD3D9 ) { return false; } // /* Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != <c>null</c>;
} </code></pre></li><li> Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a <strong><seecref="T:SharpDX.DXGI.AdapterDescription"/></strong> structure containing the amount of available graphics memory. <pre><code><seecref="T:SharpDX.DXGI.Device"/> * pDXGIDevice;
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter::GetDesc']/*"/>
<p>Checks whether the system supports a device interface for a graphics component.</p>
</summary>
<paramname="interfaceName"><dd><p>The <seecref="T:System.Guid"/> of the interface of the device version for which support is being checked. For example, __uuidof(ID3D10Device).</p></dd></param>
<paramname="uMDVersionRef"><dd><p>The user mode driver version of InterfaceName. This is returned only if the interface is supported. This parameter can be <strong><c>null</c></strong>.</p></dd></param>
<returns><p><seecref="F:SharpDX.Result.Ok"/> indicates that the interface is supported, otherwise <seecref="F:SharpDX.DXGI.ResultCode.Unsupported"/> is returned (For more information, see DXGI_ERROR).</p></returns>
<remarks>
<p><strong>Note</strong>??You can use <strong>CheckInterfaceSupport</strong> only to check whether a Direct3D 10.x interface is supported, and only on Windows Vista SP1 and later versions of the operating system. If you try to use <strong>CheckInterfaceSupport</strong> to check whether a Direct3D 11.x and later version interface is supported, <strong>CheckInterfaceSupport</strong> returns <seecref="F:SharpDX.DXGI.ResultCode.Unsupported"/>. Therefore, do not use <strong>CheckInterfaceSupport</strong>. Instead, to verify whether the operating system supports a particular interface, try to create the interface. For example, if you call the <strong><seecref="!:SharpDX.Direct3D11.Device.CreateBlendState"/></strong> method and it fails, the operating system does not support the <strong><seecref="!:SharpDX.Direct3D11.BlendState"/></strong> interface.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter::CheckInterfaceSupport']/*"/>
<p>Gets a DXGI 1.0 description of an adapter (or video card).</p>
</summary>
<remarks>
<p>Graphics applications can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have WDDM drivers. The following are the critical steps involved.</p><ul><li> Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the application must first confirm the driver model by using the following API. <pre><code> HasWDDMDriver()
{ LPDIRECT3DCREATE9EX pD3D9Create9Ex = <c>null</c>; HMODULE hD3D9 = <c>null</c>; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( <c>null</c> == hD3D9 ) { return false; } // /* Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != <c>null</c>;
} </code></pre></li><li> Retrieval of graphics memory values.? After the driver model is determined to be WDDM, the application can use the DirectX 10 or later API and DXGI to get the amount of graphics memory. After creating a Direct3D device the following code can be used to obtain a <strong><seecref="T:SharpDX.DXGI.AdapterDescription"/></strong> structure containing the amount of available graphics memory. <pre><code><seecref="T:SharpDX.DXGI.Device"/> * pDXGIDevice;
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter::GetDesc']/*"/>
The <seecref="A:SharpDX.DXGI"/> assembly provides managed DXGI API.
</summary>
<msdn-id>hh404534</msdn-id>
<unmanaged>DXGI</unmanaged>
<unmanaged-short>DXGI</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.NamespaceDoc">
<summary>
The <seecref="N:SharpDX.DXGI"/> namespace provides a managed DXGI API.
</summary>
<msdn-id>hh404534</msdn-id>
<unmanaged>DXGI</unmanaged>
<unmanaged-short>DXGI</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.Surface2">
<summary>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>The <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface extends the <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface by adding support for subresource surfaces and getting a handle to a shared resource.</p>
</summary>
<remarks>
<p>An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong>. Then, call <strong>QueryInterface</strong> on the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> object that <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> returns to retrieve the <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface.</p><p>Any object that supports <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> also supports <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong>.</p><p>The runtime automatically creates an <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface when you call <strong><seecref="!:SharpDX.Direct3D11.Device.CreateTexture2D"/></strong> to create a 2D texture. To retrieve the <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface that represents the 2D texture surface, call <strong>ID3D11Texture2D::QueryInterface</strong>. In this call, you must pass the identifier of <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong>. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, <strong>QueryInterface</strong> succeeds and returns a reference to the <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface reference. Otherwise, <strong>QueryInterface</strong> fails and does not return the reference to <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong>.</p><p>You can call the <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSubresourceSurface(System.Int32,SharpDX.DXGI.Surface2)"/></strong> method to create an <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface that refers to one subresource of a stereo resource.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface2']/*"/>
<msdn-id>hh404628</msdn-id>
<unmanaged>IDXGISurface2</unmanaged>
<unmanaged-short>IDXGISurface2</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.Surface1">
<summary>
<p>The <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface extends the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> by adding support for using Windows Graphics Device Interface (GDI) to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface.</p>
</summary>
<remarks>
<p>This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong>. Then, call <strong>QueryInterface</strong> on the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> object that <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> returns to retrieve the <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface.</p><p>Any object that supports <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> also supports <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong>.</p><p>The runtime automatically creates an <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface when you call <strong><seecref="!:SharpDX.Direct3D11.Device.CreateTexture2D"/></strong> or <strong>ID3D10Device::CreateTexture2D</strong> to create a 2D texture. To retrieve the <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface that represents the 2D texture surface, call <strong>ID3D11Texture2D::QueryInterface</strong> or <strong>ID3D10Texture2D::QueryInterface</strong>. In this call, you must pass the identifier of <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong>. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, <strong>QueryInterface</strong> succeeds and returns a reference to the <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> interface reference. Otherwise, <strong>QueryInterface</strong> fails and does not return the reference to <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface1']/*"/>
<msdn-id>ff471343</msdn-id>
<unmanaged>IDXGISurface1</unmanaged>
<unmanaged-short>IDXGISurface1</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.Surface">
<summary>
<p>The <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface implements methods for image-data objects.</p>
</summary>
<remarks>
<p>An image-data object is a 2D section of memory, commonly called a surface. To get the surface from an output, call <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong>. </p><p>The runtime automatically creates an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface when you call <strong><seecref="!:SharpDX.Direct3D11.Device.CreateTexture2D"/></strong> or <strong>ID3D10Device::CreateTexture2D</strong> to create a 2D texture. To retrieve the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface that represents the 2D texture surface, call <strong>ID3D11Texture2D::QueryInterface</strong> or <strong>ID3D10Texture2D::QueryInterface</strong>. In this call, you must pass the identifier of <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, <strong>QueryInterface</strong> succeeds and returns a reference to the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface reference. Otherwise, <strong>QueryInterface</strong> fails and does not return the reference to <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface']/*"/>
<msdn-id>bb174565</msdn-id>
<unmanaged>IDXGISurface</unmanaged>
<unmanaged-short>IDXGISurface</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.DeviceChild">
<summary>
<p>Inherited from objects that are tied to the device so that they can retrieve a reference to it.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDeviceSubObject']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.DeviceChild"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<paramname="riid"><dd><p>The reference id for the device.</p></dd></param>
<paramname="deviceOut"><dd><p>The address of a reference to the device.</p></dd></param>
<returns><p>A code that indicates success or failure (see DXGI_ERROR).</p></returns>
<remarks>
<p>The type of interface that is returned can be any interface published by the device. For example, it could be an <seecref="T:SharpDX.DXGI.Device"/> * called pDevice, and therefore the REFIID would be obtained by calling __uuidof(pDevice).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDeviceSubObject::GetDevice']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Surface"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<paramname="descRef"><dd><p>A reference to the surface description (see <strong><seecref="T:SharpDX.DXGI.SurfaceDescription"/></strong>).</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface::GetDesc']/*"/>
<p>Get a reference to the data contained in the surface, and deny GPU access to the surface.</p>
</summary>
<paramname="lockedRectRef"><dd><p>A reference to the surface data (see <strong><seecref="T:SharpDX.DXGI.MappedRect"/></strong>).</p></dd></param>
<paramname="mapFlags"><dd><p>CPU read-write flags. These flags can be combined with a logical OR. </p><ul><li><seecref="F:SharpDX.DXGI.MapFlags.Read"/> - Allow CPU read access.</li><li><seecref="F:SharpDX.DXGI.MapFlags.Write"/> - Allow CPU write access.</li><li><seecref="F:SharpDX.DXGI.MapFlags.Discard"/> - Discard the previous contents of a resource when it is mapped.</li></ul></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p>Use <strong><seecref="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MappedRect@,System.Int32)"/></strong> to access a surface from the CPU. To release a mapped surface (and allow GPU access) call <strong><seecref="M:SharpDX.DXGI.Surface.Unmap"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface::Map']/*"/>
<msdn-id>bb174567</msdn-id>
<unmanaged>HRESULT IDXGISurface::Map([Out] DXGI_MAPPED_RECT* pLockedRect,[In] unsigned int MapFlags)</unmanaged>
<p>Invalidate the reference to the surface retrieved by <strong><seecref="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MappedRect@,System.Int32)"/></strong> and re-enable GPU access to the resource.</p>
</summary>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface::Unmap']/*"/>
<paramname="swapChain">The swap chain to get the buffer from.</param>
<paramname="index">The index of the desired buffer.</param>
<returns>The buffer interface, or <c>null</c> on failure.</returns>
</member>
<membername="P:SharpDX.DXGI.Surface.Description">
<summary>
<p>Get a description of the surface.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface::GetDesc']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Surface1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).</p>
</summary>
<paramname="discard"><dd><p>A Boolean value that specifies whether to preserve Direct3D contents in the GDI DC. <strong>TRUE</strong> directs the runtime not to preserve Direct3D contents in the GDI DC; that is, the runtime discards the Direct3D contents. <strong><seecref="F:SharpDX.Result.False"/></strong> guarantees that Direct3D contents are available in the GDI DC.</p></dd></param>
<returns><dd><p>A reference to an <strong><seecref="T:System.IntPtr"/></strong> handle that represents the current device context for GDI rendering.</p></dd></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>After you use the <strong>GetDC</strong> method to retrieve a DC, you can render to the DXGI surface by using GDI. The <strong>GetDC</strong> method readies the surface for GDI rendering and allows inter-operation between DXGI and GDI technologies. </p><p>Keep the following in mind when using this method:</p><ul><li>You must create the surface by using the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.GdiCompatible"/></strong> flag for a surface or by using the <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.GdiCompatible"/></strong> flag for swap chains, otherwise this method fails.</li><li>You must release the device and call the <strong><seecref="M:SharpDX.DXGI.Surface1.ReleaseDC_(System.Nullable{SharpDX.Rectangle})"/></strong> method before you issue any new Direct3D commands.</li><li>This method fails if an outstanding DC has already been created by this method.</li><li>The format for the surface or swap chain must be <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm_SRgb"/></strong> or <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm"/></strong>.</li><li>On <strong>GetDC</strong>, the render target in the output merger of the Direct3D pipeline is unbound from the surface. You must call the <strong><seecref="!:SharpDX.Direct3D11.OutputMergerStage.SetRenderTargets"/></strong> method on the device prior to Direct3D rendering after GDI rendering.</li><li>Prior to resizing buffers you must release all outstanding DCs.</li></ul><p> You can also call <strong>GetDC</strong> on the back buffer at index 0 of a swap chain by obtaining an <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> from the swap chain. The following code illustrates the process.</p><pre><code><seecref="T:SharpDX.DXGI.SwapChain"/>* g_pSwapChain = <c>null</c>;
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface1::GetDC']/*"/>
<p>Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.</p>
</summary>
<paramname="dirtyRectRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.Rectangle"/></strong> structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you used for GDI rendering and that you want to preserve. This area is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. If you pass in <strong><c>null</c></strong>, <strong>ReleaseDC</strong> considers the whole surface as dirty. Otherwise, <strong>ReleaseDC</strong> uses the area specified by the <seecref="T:SharpDX.Rectangle"/> as a performance hint to indicate what areas have been manipulated by GDI rendering.</p><p>You can pass a reference to an empty <strong><seecref="T:SharpDX.Rectangle"/></strong> structure (a rectangle with no position or area) if you didn't change any content.</p></dd></param>
<returns><p>If this method succeeds, it returns <strong><seecref="F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><seecref="T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>ReleaseDC</strong> method to release the DC and indicate that your application finished all GDI rendering to this surface. You must call the <strong>ReleaseDC</strong> method before you can use Direct3D to perform additional rendering.</p><p>Prior to resizing buffers you must release all outstanding DCs.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface1::ReleaseDC']/*"/>
Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. The whole surface to be considered dirty.
</summary>
<remarks>
Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released.
</remarks>
<returns>If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. </returns>
Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D.
</summary>
<remarks>
Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released.
</remarks>
<paramname="dirtyRect">A reference to a <seecref="T:SharpDX.Rectangle"/> structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you have used for GDI rendering and that you want to preserve. This is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. The area specified by the <seecref="T:SharpDX.Rectangle"/> will be used as a performance hint to indicate what areas have been manipulated by GDI rendering. </param>
<returns>If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. </returns>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Surface2"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the parent resource and subresource index that support a subresource surface.</p>
</summary>
<paramname="riid"><dd><p>The globally unique identifier (<seecref="T:System.Guid"/>) of the requested interface type.</p></dd></param>
<paramname="parentResourceOut"><dd><p>A reference to a buffer that receives a reference to the parent resource object for the subresource surface.</p></dd></param>
<paramname="subresourceIndexRef"><dd><p>A reference to a variable that receives the index of the subresource surface.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following values:</p><ul><li>E_NOINTERFACE if the object does not implement the <seecref="T:System.Guid"/> that the <em>riid</em> parameter specifies.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>For subresource surface objects that the <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSubresourceSurface(System.Int32,SharpDX.DXGI.Surface2)"/></strong> method creates, <strong>GetResource</strong> simply returns the values that were used to create the subresource surface.</p><p>Current objects that implement <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> are either resources or views. <strong>GetResource</strong> for these objects returns ?this? or the resource that supports the view respectively. In this situation, the subresource index is 0.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISurface2::GetResource']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices. </p>
</summary>
<remarks>
<p><strong>CreateSharedHandle</strong> only returns the NT handle when you created the resource as shared and specified that it uses NT handles (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/></strong> and <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/></strong> flags). If you created the resource as shared and specified that it uses NT handles, you must use <strong>CreateSharedHandle</strong> to get a handle for sharing. In this situation, you can't use the <strong><seecref="M:SharpDX.DXGI.Resource.GetSharedHandle(System.IntPtr@)"/></strong> method because it will fail.</p><p>You can pass the handle that <strong>CreateSharedHandle</strong> returns in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/></strong> method to give a device access to a shared resource that you created on a different device.</p><p>Because the handle that <strong>CreateSharedHandle</strong> returns is an NT handle, you can use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on. You can call <strong>CreateSharedHandle</strong> only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call <strong>DuplicateHandle</strong>. When you no longer need the shared resource handle, call <strong>CloseHandle</strong> to close the handle, in order to avoid memory leaks.</p><p>If you pass a name for the resource to <em>lpName</em> when you call <strong>CreateSharedHandle</strong> to share the resource, you can subsequently pass this name in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/></strong> method to give another device access to the shared resource. If you use a named resource, a malicious user can use this named resource before you do and prevent your app from starting. To prevent this situation, create a randomly named resource and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your app to one instance per user, create a locked file in the user's profile directory.</p><p>If you created the resource as shared and did not specify that it uses NT handles, you cannot use <strong>CreateSharedHandle</strong> to get a handle for sharing because <strong>CreateSharedHandle</strong> will fail.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource1']/*"/>
<msdn-id>hh404626</msdn-id>
<unmanaged>IDXGIResource1</unmanaged>
<unmanaged-short>IDXGIResource1</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.Resource">
<summary>
<p>An <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interface allows resource sharing and identifies the memory that a resource resides in.</p>
</summary>
<remarks>
<p>To find out what type of memory a resource is currently located in, use <strong><seecref="M:SharpDX.DXGI.Device.QueryResourceResidency(SharpDX.ComObject[])"/></strong>. To share resources between processes, use <strong>ID3D10Device::OpenSharedResource</strong>. For information about how to share resources between multiple Windows graphics APIs, including Direct3D 11, Direct2D, Direct3D 10, and Direct3D 9Ex, see Surface Sharing Between Windows Graphics APIs.</p><p>You can retrieve the <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interface from any video memory resource that you create from a Direct3D 10 and later function. Any Direct3D object that supports <strong>ID3D10Resource</strong> or <strong><seecref="!:SharpDX.Direct3D11.Resource"/></strong> also supports <strong><seecref="T:SharpDX.DXGI.Resource"/></strong>. For example, the Direct3D 2D texture object that you create from <strong><seecref="!:SharpDX.Direct3D11.Device.CreateTexture2D"/></strong> supports <strong><seecref="T:SharpDX.DXGI.Resource"/></strong>. You can call <strong>QueryInterface</strong> on the 2D texture object (<strong><seecref="!:SharpDX.Direct3D11.Texture2D"/></strong>) to retrieve the <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interface. For example, to retrieve the <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interface from the 2D texture object, use the following code.</p><pre><code><seecref="T:SharpDX.DXGI.Resource"/> * pDXGIResource;
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Resource"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetSharedHandle</strong> anymore to retrieve the handle to a shared resource. Instead, use <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})"/></strong> to get a handle for sharing. To use <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})"/></strong>, you must create the resource as shared and specify that it uses NT handles (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/></strong> flag). We also recommend that you create shared resources that use NT handles so you can use <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on on those shared resources.]</p><p>Gets the handle to a shared resource.</p>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>You can pass the handle that <strong>GetSharedHandle</strong> returns in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device.OpenSharedResource"/></strong> method to give a device access to a shared resource that you created on a different device.</p><p><strong>GetSharedHandle</strong> doesn't always return a handle. <strong>GetSharedHandle</strong> only returns the handle when you created the resource as shared (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.Shared"/></strong> or <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/></strong> flag).</p><p>The handle that <strong>GetSharedHandle</strong> returns is not an NT handle. Therefore, don't use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetSharedHandle']/*"/>
<paramname="usageRef"><dd><p>A reference to a usage flag (see DXGI_USAGE). For Direct3D 10, a surface can be used as a shader input or a render-target output.</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetUsage']/*"/>
<p>Set the priority for evicting the resource from memory.</p>
</summary>
<paramname="evictionPriority"><dd><p>The priority is one of the following values: </p><table><tr><th>Value</th><th>Meaning</th></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Minimum"/> (0x28000000)</strong></dt></dl></td><td><p>The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Low"/> (0x50000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Normal"/> (0x78000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource. </p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.High"/> (0xa0000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Maximum"/> (0xc8000000)</strong></dt></dl></td><td><p>The resource is evicted from memory only if there is no other way of resolving the memory requirement.</p></td></tr></table><p>?</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.</p><p>You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::SetEvictionPriority']/*"/>
<msdn-id>Bb174564</msdn-id>
<unmanaged>HRESULT IDXGIResource::SetEvictionPriority([In] unsigned int EvictionPriority)</unmanaged>
<paramname="evictionPriorityRef"><dd><p>A reference to the eviction priority, which determines when a resource can be evicted from memory. </p><p>The following defined values are possible.</p><table><tr><th>Value</th><th>Meaning</th></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Minimum"/> (0x28000000)</strong></dt></dl></td><td><p>The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Low"/> (0x50000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Normal"/> (0x78000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource. </p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.High"/> (0xa0000000)</strong></dt></dl></td><td><p>The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.</p></td></tr><tr><td><dl><dt><strong><seecref="F:SharpDX.DXGI.ResourcePriority.Maximum"/> (0xc8000000)</strong></dt></dl></td><td><p>The resource is evicted from memory only if there is no other way of resolving the memory requirement.</p></td></tr></table><p>?</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.</p><p>Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetEvictionPriority']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetSharedHandle</strong> anymore to retrieve the handle to a shared resource. Instead, use <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})"/></strong> to get a handle for sharing. To use <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})"/></strong>, you must create the resource as shared and specify that it uses NT handles (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/></strong> flag). We also recommend that you create shared resources that use NT handles so you can use <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on on those shared resources.]</p><p>Gets the handle to a shared resource.</p>
</summary>
<remarks>
<p>You can pass the handle that <strong>GetSharedHandle</strong> returns in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device.OpenSharedResource"/></strong> method to give a device access to a shared resource that you created on a different device.</p><p><strong>GetSharedHandle</strong> doesn't always return a handle. <strong>GetSharedHandle</strong> only returns the handle when you created the resource as shared (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.Shared"/></strong> or <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/></strong> flag).</p><p>The handle that <strong>GetSharedHandle</strong> returns is not an NT handle. Therefore, don't use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on. The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetSharedHandle']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetUsage']/*"/>
<p>The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.</p><p>Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource::GetEvictionPriority']/*"/>
Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices.
</summary>
<paramname="attributesRef"><para>A reference to a <seecref="T:SharpDX.Win32.SecurityAttributes"/> structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle.</para><para>Set this parameter to <c>null</c> if you want child processes that the application might create to not inherit the handle returned by CreateSharedHandle, and if you want the resource that is associated with the returned handle to get a default security descriptor.</para><para>The lpSecurityDescriptor member of the structure specifies a SECURITY_DESCRIPTOR for the resource. Set this member to <c>null</c> if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle.</para></param>
<paramname="dwAccess"><para>The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values:</para><seecref="F:SharpDX.DXGI.SharedResourceFlags.Read"/> ( 0x80000000L ) - specifies read access to the resource. <seecref="F:SharpDX.DXGI.SharedResourceFlags.Write"/> ( 1 ) - specifies write access to the resource. <para>You can combine these values by using a bitwise OR operation.</para></param>
<paramname="name"><para>The name of the resource to share. You will need the resource name if you call the <seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/> method to access the shared resource by name. If you instead call the <seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/> method to access the shared resource by handle, set this parameter to <c>null</c>.</para></param>
<returns><para>A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource.</para></returns>
<remarks>
If you created the resource as shared and specified that it uses NT handles (that is, you set the <seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/> flag), you must use CreateSharedHandle to get a handle for sharing. In this situation, you cannot use the <seecref="M:SharpDX.DXGI.Resource.GetSharedHandle(System.IntPtr@)"/> method because it will fail. Similarly, if you created the resource as shared and did not specify that it uses NT handles, you cannot use CreateSharedHandle to get a handle for sharing because CreateSharedHandle will fail.You can pass the handle that CreateSharedHandle returns in a call to the <seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/> or <seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/> method to give a device access to a shared resource that you created on a different device.CreateSharedHandle only returns the NT handle when you created the resource as shared (that is, you set the <seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/> and <seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/> flags).Because the handle that CreateSharedHandle returns is an NT handle, you can use the handle with CloseHandle, DuplicateHandle, and so on. You can call CreateSharedHandle only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call DuplicateHandle. When you no longer need the shared resource handle, call CloseHandle to close the handle, in order to avoid memory leaks.The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Resource1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a subresource surface object.</p>
</summary>
<paramname="index"><dd><p>The index of the subresource surface object to enumerate.</p></dd></param>
<paramname="surfaceOut"><dd><p>The address of a reference to a <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface that represents the created subresource surface object at the position specified by the <em>index</em> parameter.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following values:</p><ul><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if the index is out of range or if the subresource is not a valid surface.</li><li>E_OUTOFMEMORY if insufficient memory is available to create the subresource surface object.</li></ul><p>A subresource is a valid surface if the original resource would have been a valid surface had its array size been equal to 1.</p></returns>
<remarks>
<p>Subresource surface objects implement the <strong><seecref="T:SharpDX.DXGI.Surface2"/></strong> interface, which inherits from <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> and indirectly <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>. Therefore, the GDI-interoperable methods of <strong><seecref="T:SharpDX.DXGI.Surface1"/></strong> work if the original resource interface object was created with the GDI-interoperable flag (<strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.GdiCompatible"/></strong>).</p><p><strong>CreateSubresourceSurface</strong> creates a subresource surface that is based on the resource interface on which <strong>CreateSubresourceSurface</strong> is called. For example, if the original resource interface object is a 2D texture, the created subresource surface is also a 2D texture.</p><p>You can use <strong>CreateSubresourceSurface</strong> to create parts of a stereo resource so you can use Direct2D on either the left or right part of the stereo resource.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource1::CreateSubresourceSurface']/*"/>
<msdn-id>hh404627</msdn-id>
<unmanaged>HRESULT IDXGIResource1::CreateSubresourceSurface([In] unsigned int index,[Out, Fast] IDXGISurface2** ppSurface)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices. </p>
</summary>
<paramname="attributesRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.Win32.SecurityAttributes"/></strong> structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle.</p><p>Set this parameter to <strong><c>null</c></strong> if you want child processes that the application might create to not inherit the handle returned by <strong>CreateSharedHandle</strong>, and if you want the resource that is associated with the returned handle to get a default security descriptor.</p><p>The <strong>lpSecurityDescriptor</strong> member of the structure specifies a <strong>SECURITY_DESCRIPTOR</strong> for the resource. Set this member to <strong><c>null</c></strong> if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle. The ACLs in the default security descriptor for the resource come from the primary or impersonation token of the creator. For more info, see Synchronization Object Security and Access Rights.</p></dd></param>
<paramname="dwAccess"><dd><p>The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values:</p><ul><li><strong><seecref="F:SharpDX.DXGI.SharedResourceFlags.Read"/></strong> ( 0x80000000L ) - specifies read access to the resource.</li><li><strong><seecref="F:SharpDX.DXGI.SharedResourceFlags.Write"/></strong> ( 1 ) - specifies write access to the resource.</li></ul><p>You can combine these values by using a bitwise OR operation.</p></dd></param>
<paramname="lpName"><dd><p>The name of the resource to share. The name is limited to MAX_PATH characters. Name comparison is case sensitive. You will need the resource name if you call the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/></strong> method to access the shared resource by name. If you instead call the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/></strong> method to access the shared resource by handle, set this parameter to <strong><c>null</c></strong>.</p><p>If <em>lpName</em> matches the name of an existing resource, <strong>CreateSharedHandle</strong> fails with <seecref="F:SharpDX.DXGI.ResultCode.NameAlreadyExists"/>. This occurs because these objects share the same namespace.</p><p>The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session namespace. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. Fast user switching is implemented using Terminal Services sessions. Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users.</p><p>The object can be created in a private namespace. For more information, see Object Namespaces.</p></dd></param>
<returns><dd><p>A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource.</p></dd></returns>
<remarks>
<p><strong>CreateSharedHandle</strong> only returns the NT handle when you created the resource as shared and specified that it uses NT handles (that is, you set the <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/></strong> and <strong><seecref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/></strong> flags). If you created the resource as shared and specified that it uses NT handles, you must use <strong>CreateSharedHandle</strong> to get a handle for sharing. In this situation, you can't use the <strong><seecref="M:SharpDX.DXGI.Resource.GetSharedHandle(System.IntPtr@)"/></strong> method because it will fail.</p><p>You can pass the handle that <strong>CreateSharedHandle</strong> returns in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/></strong> method to give a device access to a shared resource that you created on a different device.</p><p>Because the handle that <strong>CreateSharedHandle</strong> returns is an NT handle, you can use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on. You can call <strong>CreateSharedHandle</strong> only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call <strong>DuplicateHandle</strong>. When you no longer need the shared resource handle, call <strong>CloseHandle</strong> to close the handle, in order to avoid memory leaks.</p><p>If you pass a name for the resource to <em>lpName</em> when you call <strong>CreateSharedHandle</strong> to share the resource, you can subsequently pass this name in a call to the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/></strong> method to give another device access to the shared resource. If you use a named resource, a malicious user can use this named resource before you do and prevent your app from starting. To prevent this situation, create a randomly named resource and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your app to one instance per user, create a locked file in the user's profile directory.</p><p>If you created the resource as shared and did not specify that it uses NT handles, you cannot use <strong>CreateSharedHandle</strong> to get a handle for sharing because <strong>CreateSharedHandle</strong> will fail.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIResource1::CreateSharedHandle']/*"/>
<p>An <strong><seecref="T:SharpDX.DXGI.Device"/></strong> interface implements a derived class for DXGI objects that produce image data.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.Device"/></strong> interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.</p><p>The object returned by the Direct3D create device functions implements the <seecref="T:SharpDX.ComObject"/> interface and can be queried for the device's corresponding <seecref="T:SharpDX.DXGI.Device"/> interface. To retrieve the <strong><seecref="T:SharpDX.DXGI.Device"/></strong> interface of a Direct3D device the following code can be used.</p><pre><code><seecref="T:SharpDX.DXGI.Device"/> * pDXGIDevice;
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice']/*"/>
Gets the residency status of an array of resources.
</summary>
<remarks>
The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change. If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the DXGI_RESIDENCY_EVICTED_TO_DISK flag. Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.
</remarks>
<paramname="comObjects">An array of <seecref="T:SharpDX.DXGI.Resource"/> interfaces. </param>
<returns>Returns an array of <seecref="T:SharpDX.DXGI.Residency"/> flags. Each element describes the residency status for corresponding element in the ppResources argument array. </returns>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Device"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Returns the adapter for the specified device.</p>
</summary>
<paramname="adapterRef"><dd><p>The address of an <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong> interface reference to the adapter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the DXGI_ERROR that indicates failure. If the <em>pAdapter</em> parameter is <strong><c>null</c></strong> this method returns E_INVALIDARG.</p></returns>
<remarks>
<p>If the <strong>GetAdapter</strong> method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::GetAdapter']/*"/>
<p>Returns a surface. This method is used internally and you should not call it directly in your application.</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.SurfaceDescription"/></strong> structure that describes the surface.</p></dd></param>
<paramname="numSurfaces"><dd><p>The number of surfaces to create.</p></dd></param>
<paramname="usage"><dd><p>A DXGI_USAGE flag that specifies how the surface is expected to be used.</p></dd></param>
<paramname="sharedResourceRef"><dd><p>An optional reference to a <strong><seecref="T:SharpDX.DXGI.SharedResource"/></strong> structure that contains shared resource information for opening views of such resources.</p></dd></param>
<paramname="surfaceOut"><dd><p>The address of an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface reference to the first created surface.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>The <strong>CreateSurface</strong> method creates a buffer to exchange data between one or more devices. It is used internally, and you should not directly call it.</p><p>The runtime automatically creates an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface when it calls <strong><seecref="!:SharpDX.Direct3D11.Device.CreateTexture2D"/></strong> or <strong>ID3D10Device::CreateTexture2D</strong> to create a 2D texture. To retrieve the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface that represents the 2D texture surface, call <strong>ID3D11Texture2D::QueryInterface</strong> or <strong>ID3D10Texture2D::QueryInterface</strong>. In this call, you must pass the identifier of <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, <strong>QueryInterface</strong> succeeds and returns a reference to the <strong><seecref="T:SharpDX.DXGI.Surface"/></strong> interface reference. Otherwise, <strong>QueryInterface</strong> fails and does not return the reference to <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>.
</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::CreateSurface']/*"/>
<msdn-id>bb174530</msdn-id>
<unmanaged>HRESULT IDXGIDevice::CreateSurface([In] const DXGI_SURFACE_DESC* pDesc,[In] unsigned int NumSurfaces,[In] unsigned int Usage,[In, Optional] const DXGI_SHARED_RESOURCE* pSharedResource,[Out] IDXGISurface** ppSurface)</unmanaged>
<p>Gets the residency status of an array of resources.</p>
</summary>
<paramname="resourcesOut"><dd><p>An array of <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interfaces.</p></dd></param>
<paramname="residencyStatusRef"><dd><p>An array of <strong><seecref="T:SharpDX.DXGI.Residency"/></strong> flags. Each element describes the residency status for corresponding element in the <em>ppResources</em> argument array.</p></dd></param>
<paramname="numResources"><dd><p>The number of resources in the <em>ppResources</em> argument array and <em>pResidencyStatus</em> argument array.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successfull; otherwise, returns <seecref="F:SharpDX.DXGI.ResultCode.DeviceRemoved"/>, E_INVALIDARG, or E_POINTER (see WinError.h for more information).</p></returns>
<remarks>
<p>The information returned by the <em>pResidencyStatus</em> argument array describes the residency status at the time that the <strong>QueryResourceResidency</strong> method was called. Note that the residency status will constantly change.</p><p>If you call the <strong>QueryResourceResidency</strong> method during a device removed state, the <em>pResidencyStatus</em> argument will return the <seecref="F:SharpDX.DXGI.Residency.EvictedToDisk"/> flag.</p><p><strong>Note</strong>??This method should not be called every frame as it incurs a non-trivial amount of overhead.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::QueryResourceResidency']/*"/>
<p>Gets the residency status of an array of resources.</p>
</summary>
<paramname="resourcesOut"><dd><p>An array of <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interfaces.</p></dd></param>
<paramname="residencyStatusRef"><dd><p>An array of <strong><seecref="T:SharpDX.DXGI.Residency"/></strong> flags. Each element describes the residency status for corresponding element in the <em>ppResources</em> argument array.</p></dd></param>
<paramname="numResources"><dd><p>The number of resources in the <em>ppResources</em> argument array and <em>pResidencyStatus</em> argument array.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successfull; otherwise, returns <seecref="F:SharpDX.DXGI.ResultCode.DeviceRemoved"/>, E_INVALIDARG, or E_POINTER (see WinError.h for more information).</p></returns>
<remarks>
<p>The information returned by the <em>pResidencyStatus</em> argument array describes the residency status at the time that the <strong>QueryResourceResidency</strong> method was called. Note that the residency status will constantly change.</p><p>If you call the <strong>QueryResourceResidency</strong> method during a device removed state, the <em>pResidencyStatus</em> argument will return the <seecref="F:SharpDX.DXGI.Residency.EvictedToDisk"/> flag.</p><p><strong>Note</strong>??This method should not be called every frame as it incurs a non-trivial amount of overhead.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::QueryResourceResidency']/*"/>
<paramname="priority"><dd><p>A value that specifies the required GPU thread priority. This value must be between -7 and 7, inclusive, where 0 represents normal priority.</p></dd></param>
<returns><p>Return <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>Priority</em> parameter is invalid.</p></returns>
<remarks>
<p>The values for the <em>Priority</em> parameter function as follows:</p><ul><li>Positive values increase the likelihood that the GPU scheduler will grant GPU execution cycles to the device when rendering.</li><li>Negative values lessen the likelihood that the device will receive GPU execution cycles when devices compete for them.</li><li>The device is guaranteed to receive some GPU execution cycles at all settings.</li></ul><p>To use the <strong>SetGPUThreadPriority</strong> method, you should have a comprehensive understanding of GPU scheduling. You should profile your application to ensure that it behaves as intended. If used inappropriately, the <strong>SetGPUThreadPriority</strong> method can impede rendering speed and result in a poor user experience.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::SetGPUThreadPriority']/*"/>
<msdn-id>bb174534</msdn-id>
<unmanaged>HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority)</unmanaged>
<paramname="priorityRef"><dd><p>A reference to a variable that receives a value that indicates the current GPU thread priority. The value will be between -7 and 7, inclusive, where 0 represents normal priority.</p></dd></param>
<returns><p>Return <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_POINTER if the <em>pPriority</em> parameter is <strong><c>null</c></strong>.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::GetGPUThreadPriority']/*"/>
<p>Returns the adapter for the specified device.</p>
</summary>
<remarks>
<p>If the <strong>GetAdapter</strong> method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::GetAdapter']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice::GetGPUThreadPriority']/*"/>
<p>An <strong><seecref="T:SharpDX.DXGI.Factory"/></strong> interface implements methods for generating DXGI objects (which handle full screen transitions).</p>
</summary>
<remarks>
<p>Create a factory by calling <strong>CreateDXGIFactory</strong>.</p><p>Because a Direct3D device can be created without creating a swap chain, you might need to retrieve the factory that is used to create the device in order to create a swap chain.
This can be accomplished by requesting the <strong><seecref="T:SharpDX.DXGI.Device"/></strong> interface from the Direct3D device and then using <strong><seecref="M:SharpDX.DXGI.DXGIObject.GetParent(System.Guid,System.IntPtr@)"/></strong> to locate
the factory. The following code illustrates the process.</p><pre><code><seecref="T:SharpDX.DXGI.Device"/> * pDXGIDevice;
</code></pre><p>See <strong><seecref="M:SharpDX.DXGI.DXGIObject.GetParent(System.Guid,System.IntPtr@)"/></strong> for a diagram of the relationship between DXGI objects.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory']/*"/>
Gets both adapters (video cards) with or without outputs.
</summary>
<paramname="adapter"><para>The index of the adapter to enumerate.</para></param>
<returns>a reference to an <seecref="T:SharpDX.DXGI.Adapter"/> interface at the position specified by the Adapter parameter</returns>
<remarks>
When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <seecref="T:SharpDX.DXGI.Factory"/> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs.
</remarks>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Factory"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<paramname="adapter"><dd><p>The index of the adapter to enumerate.</p></dd></param>
<paramname="adapterOut"><dd><p>The address of a reference to an <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong> interface at the position specified by the <em>Adapter</em> parameter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns <seecref="F:SharpDX.DXGI.ResultCode.NotFound"/> if the index is greater than or equal to the number of adapters in the local system, or <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>ppAdapter</em> parameter is <strong><c>null</c></strong>.</p></returns>
<remarks>
<p>When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <strong><seecref="T:SharpDX.DXGI.Factory"/></strong> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop. </p><p>When the <strong>EnumAdapters</strong> method succeeds and fills the <em>ppAdapter</em> parameter with the address of the reference to the adapter interface, <strong>EnumAdapters</strong> increments the adapter interface's reference count. When you finish using the adapter interface, call the <strong>Release</strong> method to decrement the reference count before you destroy the reference.</p><p><strong>EnumAdapters</strong> first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. <strong>EnumAdapters</strong> then returns other adapters with outputs.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory::EnumAdapters']/*"/>
<msdn-id>bb174538</msdn-id>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
<p>Allows DXGI to monitor an application's message queue for the alt-enter key sequence (which causes the application to switch from windowed to full screen or vice versa).</p>
</summary>
<paramname="windowHandle"><dd><p>The handle of the window that is to be monitored. This parameter can be <strong><c>null</c></strong>; but only if the flags are also 0. </p></dd></param>
<paramname="flags"><dd><p>One or more of the following values:</p><ul><li><seecref="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAll"/> - Prevent DXGI from monitoring an applications message queue; this makes DXGI unable to respond to mode changes.</li><li><seecref="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAltEnter"/> - Prevent DXGI from responding to an alt-enter sequence.</li><li><seecref="F:SharpDX.DXGI.WindowAssociationFlags.IgnorePrintScreen"/> - Prevent DXGI from responding to a print-screen key.</li></ul></dd></param>
<returns><p><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>WindowHandle</em> is invalid, or E_OUTOFMEMORY.</p></returns>
<remarks>
<p>The combination of <em>WindowHandle</em> and <em>Flags</em> informs DXGI to stop monitoring window messages for the previously-associated window.</p><p>If the application switches to full-screen mode, DXGI will choose a full-screen resolution to be the smallest supported resolution that is larger or the same size as the current back buffer size.</p><p>Applications can make some changes to make the transition from windowed to full screen more efficient. For example, on a WM_SIZE message, the application should release any outstanding swap-chain back buffers, call <strong><seecref="M:SharpDX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags)"/></strong>, then re-acquire the back buffers from the swap chain(s). This gives the swap chain(s) an opportunity to resize the back buffers, and/or recreate them to enable full-screen flipping operation. If the application does not perform this sequence, DXGI will still make the full-screen/windowed transition, but may be forced to use a stretch operation (since the back buffers may not be the correct size), which may be less efficient. Even if a stretch is not required, presentation may not be optimal because the back buffers might not be directly interchangeable with the front buffer. Thus, a call to <strong>ResizeBuffers</strong> on WM_SIZE is always recommended, since WM_SIZE is always sent during a fullscreen transition.</p><p>While windowed, the application can, if it chooses, restrict the size of its window's client area to sizes to which it is comfortable rendering. A fully flexible application would make no such restriction, but UI elements or other design considerations can, of course, make this flexibility untenable. If the application further chooses to restrict its window's client area to just those that match supported full-screen resolutions, the application can field WM_SIZING, then check against <strong><seecref="M:SharpDX.DXGI.Output.FindClosestMatchingMode(SharpDX.DXGI.ModeDescription@,SharpDX.DXGI.ModeDescription@,SharpDX.ComObject)"/></strong>. If a matching mode is found, allow the resize. (The <seecref="T:SharpDX.DXGI.Output"/> can be retrieved from <strong><seecref="M:SharpDX.DXGI.SwapChain.GetContainingOutput(SharpDX.DXGI.Output@)"/></strong>. Absent subsequent changes to desktop topology, this will be the same output that will be chosen when alt-enter is fielded and fullscreen mode is begun for that swap chain.)</p><p>Applications that want to handle mode changes or Alt+Enter themselves should call <strong>MakeWindowAssociation</strong> with the <seecref="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAll"/> flag after swap chain creation. The <em>WindowHandle</em> argument, if non-<strong><c>null</c></strong>, specifies that the application message queues will not be handled by the DXGI runtime for all swap chains of a particular target <strong><seecref="T:System.IntPtr"/></strong>. Calling <strong>MakeWindowAssociation</strong> with the <seecref="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAll"/> flag after swapchain creation ensures that DXGI will not interfere with application's handling of window mode changes or Alt+Enter.</p>Notes for Metro style apps<p>If a Metro style app calls <strong>MakeWindowAssociation</strong>, it fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p><p>A Microsoft Win32 application can use <strong>MakeWindowAssociation</strong> to control full-screen transitions through the Alt+Enter key combination and print screen behavior for full screen. For Metro style apps, because DXGI cannot perform full-screen transitions, Metro style app have no way to control full-screen transitions.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory::MakeWindowAssociation']/*"/>
<p>Get the window through which the user controls the transition to and from full screen.</p>
</summary>
<returns><dd><p>A reference to a window handle.</p></dd></returns>
<remarks>
Notes for Metro style apps<p>If a Metro style app calls <strong>GetWindowAssociation</strong>, it fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory::GetWindowAssociation']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>CreateSwapChain</strong> anymore to create a swap chain. Instead, use <strong>CreateSwapChainForHwnd</strong>, <strong>CreateSwapChainForImmersiveWindow</strong>, or <strong>CreateSwapChainForCompositionSurface</strong> depending on how you want to create the swap chain.]</p><p>Creates a swap chain.</p>
<returns><p><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>pDesc</em> or <em>ppSwapChain</em> is <strong><c>null</c></strong>, <seecref="F:SharpDX.DXGI.DXGIStatus.Occluded"/> if you request full-screen mode and it is unavailable, or E_OUTOFMEMORY. Other error codes defined by the type of device passed in may also be returned.</p></returns>
<p>If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and <seecref="F:SharpDX.DXGI.DXGIStatus.Occluded"/> will be returned.</p><p>If the buffer width or the buffer height is zero, the sizes will be inferred from the output window size in the swap-chain description.</p><p>Because the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure that the sizes match:</p><ul><li>Create a windowed swap chain and then set it full-screen using <strong><seecref="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Bool,SharpDX.DXGI.Output)"/></strong>.</li><li>Save a reference to the swap chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with <strong><seecref="M:SharpDX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags)"/></strong>) during the transition from windowed to full-screen.</li></ul><p>If the swap chain is in full-screen mode, before you release it you must use <strong>SetFullscreenState</strong> to switch it to windowed mode. For more information about releasing a swap chain, see the "Destroying a Swap Chain" section of DXGI Overview.</p><p>You can specify <strong><seecref="T:SharpDX.DXGI.SwapEffect"/></strong> and <strong><seecref="T:SharpDX.DXGI.SwapChainFlags"/></strong> values in the swap-chain description that <em>pDesc</em> points to. These values allow you to use features like flip-model presentation and content protection by using pre-Windows Developer Preview APIs.</p><p>However, to use stereo presentation and to change resize behavior for the flip model, applications must use the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong> method. Otherwise, the back-buffer contents implicitly scale to fit the presentation target size; that is, you can't turn off scaling.</p>Notes for Metro style apps<p>If a Metro style app calls <strong>CreateSwapChain</strong> with full screen specified, <strong>CreateSwapChain</strong> fails.</p><p>Metro style apps call the <strong>IDXGIFactory2::CreateSwapChainForImmersiveWindow</strong> method to create a swap chain.</p>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory::CreateSwapChain']/*"/>
<p>Create an adapter interface that represents a software adapter.</p>
</summary>
<paramname="module"><dd><p>Handle to the software adapter's dll. HMODULE can be obtained with <strong>GetModuleHandle</strong> or <strong>LoadLibrary</strong>.</p></dd></param>
<returns><dd><p>Address of a reference to an adapter (see <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong>).</p></dd></returns>
<remarks>
<p>A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers.</p><p>Calling this method will increment the module's reference count by one. The reference count can be decremented by calling <strong>FreeLibrary</strong>.</p><p>The typical calling scenario is to call <strong>LoadLibrary</strong>, pass the handle to <strong>CreateSoftwareAdapter</strong>, then immediately call <strong>FreeLibrary</strong> on the DLL and forget the DLL's <strong>HMODULE</strong>. Since the software adapter calls <strong>FreeLibrary</strong> when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory::CreateSoftwareAdapter']/*"/>
Return an array of <seecref="T:SharpDX.DXGI.Adapter"/> available from this factory.
</summary>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
</member>
<membername="T:SharpDX.DXGI.Factory1">
<summary>
<p>The <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> interface implements methods for generating DXGI objects.</p>
</summary>
<remarks>
<p>This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>To create a factory, call the <strong>CreateDXGIFactory1</strong> function.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory1']/*"/>
Gets both adapters (video cards) with or without outputs.
</summary>
<paramname="adapter"><para>The index of the adapter to enumerate.</para></param>
<returns>a reference to an <seecref="T:SharpDX.DXGI.Adapter1"/> interface at the position specified by the Adapter parameter</returns>
<remarks>
This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <seecref="T:SharpDX.DXGI.Factory1"/> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs.
</remarks>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Factory1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Enumerates both adapters (video cards) with or without outputs.</p>
</summary>
<paramname="adapter"><dd><p>The index of the adapter to enumerate.</p></dd></param>
<paramname="adapterOut"><dd><p>The address of a reference to an <strong><seecref="T:SharpDX.DXGI.Adapter1"/></strong> interface at the position specified by the <em>Adapter</em> parameter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns <seecref="F:SharpDX.DXGI.ResultCode.NotFound"/> if the index is greater than or equal to the number of adapters in the local system, or <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>ppAdapter</em> parameter is <strong><c>null</c></strong>.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop. </p><p>When the <strong>EnumAdapters1</strong> method succeeds and fills the <em>ppAdapter</em> parameter with the address of the reference to the adapter interface, <strong>EnumAdapters1</strong> increments the adapter interface's reference count. When you finish using the adapter interface, call the <strong>Release</strong> method to decrement the reference count before you destroy the reference.</p><p><strong>EnumAdapters1</strong> first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. <strong>EnumAdapters1</strong> next returns other adapters with outputs. <strong>EnumAdapters1</strong> finally returns adapters without outputs.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory1::EnumAdapters1']/*"/>
<msdn-id>ff471336</msdn-id>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
<p>Informs an application of the possible need to re-enumerate adapters.</p>
</summary>
<returns><p><strong><seecref="F:SharpDX.Result.False"/></strong>, if a new adapter is becoming available or the current adapter is going away. <strong>TRUE</strong>, no adapter changes.</p><p><strong>IsCurrent</strong> returns <strong><seecref="F:SharpDX.Result.False"/></strong> to inform the calling application to re-enumerate adapters.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory1::IsCurrent']/*"/>
Return an array of <seecref="T:SharpDX.DXGI.Adapter1"/> available from this factory.
</summary>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
</member>
<membername="P:SharpDX.DXGI.Factory1.IsCurrent">
<summary>
<p>Informs an application of the possible need to re-enumerate adapters.</p>
</summary>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory1::IsCurrent']/*"/>
<p>The <strong><seecref="T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type is used by the <strong>Flags</strong> member of the <strong><seecref="T:SharpDX.DXGI.AdapterDescription1"/></strong> or <strong><seecref="T:SharpDX.DXGI.AdapterDesc2"/></strong> structure to identify the type of DXGI adapter.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_FLAG']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_FLAG_NONE']/*"/>
<dd><p>Value always set to 0. This flag is reserved.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_FLAG_REMOTE']/*"/>
<dd><p>Specifies a software adapter.</p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_FLAG_SOFTWARE']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies the alpha value, transparency behavior, of a surface.</p>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ALPHA_MODE']/*"/>
<dd><p>Indicates that the transparency behavior is not specified.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ALPHA_MODE_UNSPECIFIED']/*"/>
<dd><p>Indicates that the transparency behavior is premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ALPHA_MODE_PREMULTIPLIED']/*"/>
<dd><p>Indicates that the transparency behavior is not premultiplied. The alpha channel indicates the transparency of the color.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ALPHA_MODE_STRAIGHT']/*"/>
<dd><p>Indicates to ignore the transparency behavior.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ALPHA_MODE_IGNORE']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current compute task.</p>
</summary>
<remarks>
<p>You call the <strong><seecref="M:SharpDX.DXGI.Adapter2.GetDesc2(SharpDX.DXGI.AdapterDesc2@)"/></strong> method to retrieve the granularity level at which the GPU can be preempted from performing its current compute task. The operating system specifies the compute granularity level in the <strong>ComputePreemptionGranularity</strong> member of the <strong><seecref="T:SharpDX.DXGI.AdapterDesc2"/></strong> structure.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_GRANULARITY']/*"/>
<dd><p>Indicates the preemption granularity as a compute packet.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a dispatch (for example, a call to the <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.Dispatch"/></strong> method). A dispatch is a part of a compute packet.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a thread group. A thread group is a part of a dispatch.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a thread in a thread group. A thread is a part of a thread group.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a compute instruction in a thread.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ENUM_MODES_FLAGS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ENUM_MODES_INTERLACED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ENUM_MODES_SCALING']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ENUM_MODES_STEREO']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ENUM_MODES_DISABLED_STEREO']/*"/>
<p>Flags that indicate how the back buffers should be rotated to fit the physical rotation of a monitor.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION_UNSPECIFIED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION_IDENTITY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION_ROTATE90']/*"/>
<dd><p>Specifies 180 degrees of rotation.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION_ROTATE180']/*"/>
<dd><p>Specifies 270 degrees of rotation.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_ROTATION_ROTATE270']/*"/>
<p>Flags indicating how an image is stretched to fit a given monitor's resolution.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCALING']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCALING_UNSPECIFIED']/*"/>
<dd><p>Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display).</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCALING_CENTERED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCALING_STRETCHED']/*"/>
<p>Flags indicating the method the raster uses to create an image on a surface.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCANLINE_ORDER']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED']/*"/>
<dd><p>The image is created from the first scanline to the last without skipping any.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE']/*"/>
<dd><p>The image is created beginning with the upper field.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST']/*"/>
<dd><p>The image is created beginning with the lower field.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST']/*"/>
<p>Status codes that can be returned by DXGI functions.</p><p></p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS']/*"/>
<msdn-id>cc308061</msdn-id>
<unmanaged>DXGI_STATUS</unmanaged>
<unmanaged-short>DXGI_STATUS</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.DXGIStatus.Occluded">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_OCCLUDED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_CLIPPED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_NO_REDIRECTION']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_NO_DESKTOP_ACCESS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_MODE_CHANGED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_MODE_CHANGE_IN_PROGRESS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_UNOCCLUDED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_STATUS_DDA_WAS_STILL_DRAWING']/*"/>
<p>Resource data formats which includes fully-typed and typeless formats. There is a list of format modifiers at the bottom of the page, that more fully describes each format type.</p>
</summary>
<remarks>
<p>A few formats have additional restrictions.</p><ol><li>A resource declared with the DXGI_FORMAT_R32G32B32 family of formats cannot be used simultaneously for vertex and texture data. That is, you may not create a buffer resource with the DXGI_FORMAT_R32G32B32 family of formats that uses any of the following bind flags: D3D10_BIND_VERTEX_BUFFER, D3D10_BIND_INDEX_BUFFER, D3D10_BIND_CONSTANT_BUFFER, or D3D10_BIND_STREAM_OUTPUT (see <strong>D3D10_BIND_FLAG</strong>).</li><li><seecref="F:SharpDX.DXGI.Format.R1_UNorm"/> is designed specifically for text filtering, and must be used with a format-specific, configurable 8x8 filter mode. When calling an HLSL sampling function using this format, the address offset parameter must be set to (0,0).</li><li>A resource using a sub-sampled format (such as DXGI_FORMAT_R8G8_B8G8) must have a size that is a multiple of 2 in the x dimension.</li><li>Format is not available in Direct3D 10 and Direct3D 10.1</li></ol><p>The following topics provide lists of the formats that particular hardware feature levels support:</p><ul><li> Hardware Support for Direct3D 11.1 Formats </li><li> Hardware Support for Direct3D 11 Formats </li><li> Hardware Support for Direct3D 10.1 Formats </li><li> Hardware Support for Direct3D 10 Formats </li><li> Hardware Support for Direct3D 10Level9 Formats </li></ul><p>For a list of the <strong>DirectXMath</strong> types that map to <strong><seecref="T:SharpDX.DXGI.Format"/></strong> values, see DirectXMath Library Internals.</p>Format Modifiers<p>Each enumeration value contains a format modifier which describes the data type.</p><table><tr><th>Format Modifiers</th><th>Description</th></tr><tr><td>_FLOAT</td><td>A floating-point value; 32-bit floating-point formats use IEEE 754 single-precision (s23e8 format): sign bit, 8-bit biased (127) exponent, and 23-bit mantissa. 16-bit floating-point formats use half-precision (s10e5 format): sign bit, 5-bit biased (15) exponent, and 10-bit mantissa.</td></tr><tr><td>_SINT</td><td>Two's complement signed integer. For example, a 3-bit SINT represents the values -4, -3, -2, -1, 0, 1, 2, 3.</td></tr><tr><td>_SNORM</td><td>Signed normalized integer; which is interpreted in a resource as a signed integer, and is interpreted in a shader as a signed normalized floating-point value in the range [-1, 1]. For an 2's complement number, the maximum value is 1.0f (a 5-bit value 01111 maps to 1.0f), and the minimum value is -1.0f (a 5-bit value 10000 maps to -1.0f). In addition, the second-minimum number maps to -1.0f (a 5-bit value 10001 maps to -1.0f). The resulting integer representations are evenly spaced floating-point values in the range (-1.0f...0.0f), and also a complementary set of representations for numbers in the range (0.0f...1.0f).</td></tr><tr><td>_SRGB</td><td>Standard RGB data, which roughly displays colors in a linear ramp of luminosity levels such that an average observer, under average viewing conditions, can view them on an average display. <p>All 0's maps to 0.0f, and all 1's maps to 1.0f. The sequence of unsigned integer encodings between all 0's and all 1's represent a nonlinear progression in the floating-point interpretation of the numbers between 0.0f to 1.0f. For more detail, see the SRGB color standard, IEC 61996-2-1, at IEC (International Electrotechnical Commission).</p> Conversion to or from sRGB space is automatically done by D3DX10 or D3DX9 texture-load functions. If the format has an alpha channel, the alpha data is also stored in sRGB color space. </td></tr><tr><td>_TYPELESS</td><td>Typeless data, with a defined number of bits. Typeless formats are designed for creating typeless resources; that is, a resource whose size is known, but whose data type is not yet fully defined. When a typeless resource is bound to a shader, the application or shader must resolve the format type (which must match the number of bits per component in the typeless format). <p>A typeless format contains one or more subformats; each subformat resolves the data type. For example, in the R32G32B32 gro
</code></pre></td></tr><tr><td>_UINT</td><td>Unsigned integer. For instance, a 3-bit UINT represents the values 0, 1, 2, 3, 4, 5, 6, 7.</td></tr><tr><td>_UNORM</td><td>Unsigned normalized integer; which is interpreted in a resource as an unsigned integer, and is interpreted in a shader as an unsigned normalized floating-point value in the range [0, 1]. All 0's maps to 0.0f, and all 1's maps to 1.0f. A sequence of evenly spaced floating-point values from 0.0f to 1.0f are represented. For instance, a 2-bit UNORM represents 0.0f, 1/3, 2/3, and 1.0f.</td></tr></table><p>?</p>New Resource Formats<p>Direct3D 10 offers new data compression formats for compressing high-dynamic range (HDR) lighting data, normal maps and heightfields to a fraction of their original size. These compression types include:</p><ul><li>Shared-Exponent high-dynamic range (HDR) format (RGBE)</li><li>New Block-Compressed 1-2 channel UNORM/SNORM formats</li></ul><p>The block compression formats can be used for any of the 2D or 3D texture types ( Texture2D, Texture2DArray, Texture3D, or TextureCube) including mipmap surfaces. The block compression techniques require texture dimensions to be a multiple of 4 (since the implementation compresses on blocks of 4x4 texels). In the texture sampler, compressed formats are always decompressed before texture filtering.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT']/*"/>
<msdn-id>bb173059</msdn-id>
<unmanaged>DXGI_FORMAT</unmanaged>
<unmanaged-short>DXGI_FORMAT</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.Format.Unknown">
<summary>
<dd><p>The format is not known.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_UNKNOWN']/*"/>
<dd><p>A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. 1</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32A32_TYPELESS']/*"/>
<dd><p>A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. 1</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32A32_FLOAT']/*"/>
<dd><p>A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. 1</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32A32_UINT']/*"/>
<dd><p>A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. 1</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32A32_SINT']/*"/>
<dd><p>A three-component, 96-bit typeless format that supports 32 bits per color channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32_TYPELESS']/*"/>
<dd><p>A three-component, 96-bit floating-point format that supports 32 bits per color channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32_FLOAT']/*"/>
<dd><p>A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32_UINT']/*"/>
<dd><p>A three-component, 96-bit signed-integer format that supports 32 bits per color channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32B32_SINT']/*"/>
<dd><p>A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_TYPELESS']/*"/>
<dd><p>A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_FLOAT']/*"/>
<dd><p>A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_UNORM']/*"/>
<dd><p>A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_UINT']/*"/>
<dd><p>A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_SNORM']/*"/>
<dd><p>A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16B16A16_SINT']/*"/>
<dd><p>A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32_TYPELESS']/*"/>
<dd><p>A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32_FLOAT']/*"/>
<dd><p>A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32_UINT']/*"/>
<dd><p>A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G32_SINT']/*"/>
<dd><p>A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32G8X24_TYPELESS']/*"/>
<dd><p>A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_D32_FLOAT_S8X24_UINT']/*"/>
<dd><p>A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS']/*"/>
<dd><p>A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_X32_TYPELESS_G8X24_UINT']/*"/>
<dd><p>A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R10G10B10A2_TYPELESS']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R10G10B10A2_UNORM']/*"/>
<dd><p>A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R10G10B10A2_UINT']/*"/>
<dd><p>Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.</p><p></p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R11G11B10_FLOAT']/*"/>
<dd><p>A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_TYPELESS']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_UNORM']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_UNORM_SRGB']/*"/>
<dd><p>A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_UINT']/*"/>
<dd><p>A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_SNORM']/*"/>
<dd><p>A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8B8A8_SINT']/*"/>
<dd><p>A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_TYPELESS']/*"/>
<dd><p>A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_FLOAT']/*"/>
<dd><p>A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_UNORM']/*"/>
<dd><p>A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_UINT']/*"/>
<dd><p>A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_SNORM']/*"/>
<dd><p>A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16G16_SINT']/*"/>
<dd><p>A single-component, 32-bit typeless format that supports 32 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32_TYPELESS']/*"/>
<dd><p>A single-component, 32-bit floating-point format that supports 32 bits for depth.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_D32_FLOAT']/*"/>
<dd><p>A single-component, 32-bit floating-point format that supports 32 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32_FLOAT']/*"/>
<dd><p>A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32_UINT']/*"/>
<dd><p>A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R32_SINT']/*"/>
<dd><p>A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R24G8_TYPELESS']/*"/>
<dd><p>A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_D24_UNORM_S8_UINT']/*"/>
<dd><p>A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R24_UNORM_X8_TYPELESS']/*"/>
<dd><p>A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_X24_TYPELESS_G8_UINT']/*"/>
<dd><p>A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_TYPELESS']/*"/>
<dd><p>A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_UNORM']/*"/>
<dd><p>A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_UINT']/*"/>
<dd><p>A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_SNORM']/*"/>
<dd><p>A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_SINT']/*"/>
<dd><p>A single-component, 16-bit typeless format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_TYPELESS']/*"/>
<dd><p>A single-component, 16-bit floating-point format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_FLOAT']/*"/>
<dd><p>A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_D16_UNORM']/*"/>
<dd><p>A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_UNORM']/*"/>
<dd><p>A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_UINT']/*"/>
<dd><p>A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_SNORM']/*"/>
<dd><p>A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R16_SINT']/*"/>
<dd><p>A single-component, 8-bit typeless format that supports 8 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8_TYPELESS']/*"/>
<dd><p>A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8_UNORM']/*"/>
<dd><p>A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8_UINT']/*"/>
<dd><p>A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8_SNORM']/*"/>
<dd><p>A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8_SINT']/*"/>
<dd><p>A single-component, 8-bit unsigned-normalized-integer format for alpha only.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_A8_UNORM']/*"/>
<dd><p>A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. 2.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R1_UNORM']/*"/>
<dd><p>Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. 2.</p><p></p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R9G9B9E5_SHAREDEXP']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R8G8_B8G8_UNORM']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. 3</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_G8R8_G8B8_UNORM']/*"/>
<dd><p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC1_TYPELESS']/*"/>
<dd><p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC1_UNORM']/*"/>
<dd><p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC1_UNORM_SRGB']/*"/>
<dd><p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC2_TYPELESS']/*"/>
<dd><p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC2_UNORM']/*"/>
<dd><p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC2_UNORM_SRGB']/*"/>
<dd><p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC3_TYPELESS']/*"/>
<dd><p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC3_UNORM']/*"/>
<dd><p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC3_UNORM_SRGB']/*"/>
<dd><p>One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC4_TYPELESS']/*"/>
<dd><p>One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC4_UNORM']/*"/>
<dd><p>One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC4_SNORM']/*"/>
<dd><p>Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC5_TYPELESS']/*"/>
<dd><p>Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC5_UNORM']/*"/>
<dd><p>Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC5_SNORM']/*"/>
<dd><p>A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B5G6R5_UNORM']/*"/>
<dd><p>A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B5G5R5A1_UNORM']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8A8_UNORM']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8X8_UNORM']/*"/>
<dd><p>A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM']/*"/>
<dd><p>A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. 4</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8A8_TYPELESS']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. 4</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8A8_UNORM_SRGB']/*"/>
<dd><p>A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. 4</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8X8_TYPELESS']/*"/>
<dd><p>A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. 4</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B8G8R8X8_UNORM_SRGB']/*"/>
<dd><p>A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC6H_TYPELESS']/*"/>
<dd><p>A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC6H_UF16']/*"/>
<dd><p>A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC6H_SF16']/*"/>
<dd><p>A typeless block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC7_TYPELESS']/*"/>
<dd><p>A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC7_UNORM']/*"/>
<dd><p>A block-compression format. 4 For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_BC7_UNORM_SRGB']/*"/>
<dd><p>Most common YUV 4:4:4 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UInt"/>. For UAVs, an additional valid view format is <seecref="F:SharpDX.DXGI.Format.R32_UInt"/>. By using <seecref="F:SharpDX.DXGI.Format.R32_UInt"/> for UAVs, you can both read and write as opposed to just write for <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UInt"/>. Supported view types are SRV, RTV, and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is V->R8,
U->G8,
Y->B8,
and A->A8.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_AYUV']/*"/>
<dd><p>10-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R10G10B10A2_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R10G10B10A2_UInt"/>. For UAVs, an additional valid view format is <seecref="F:SharpDX.DXGI.Format.R32_UInt"/>. By using <seecref="F:SharpDX.DXGI.Format.R32_UInt"/> for UAVs, you can both read and write as opposed to just write for <seecref="F:SharpDX.DXGI.Format.R10G10B10A2_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R10G10B10A2_UInt"/>. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R10,
Y->G10,
V->B10,
and A->A2.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_Y410']/*"/>
<dd><p>16-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UInt"/>. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U->R16,
Y->G16,
V->B16,
and A->A16.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_Y416']/*"/>
<dd><p>Most common YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8_UInt"/>. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8G8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8_UInt"/>. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and
V->G8.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_NV12']/*"/>
<dd><p>10-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16_UInt"/>. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, <seecref="F:SharpDX.DXGI.Format.P010"/> is no different than <seecref="F:SharpDX.DXGI.Format.P016"/>. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16G16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16_UInt"/>. For UAVs, an additional valid chrominance data view format is <seecref="F:SharpDX.DXGI.Format.R32_UInt"/>. By using <seecref="F:SharpDX.DXGI.Format.R32_UInt"/> for UAVs, you can both read and write as opposed to just write for <seecref="F:SharpDX.DXGI.Format.R16G16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16_UInt"/>. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and
V->G16.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_P010']/*"/>
<dd><p>16-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16_UInt"/>. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16G16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16_UInt"/>. For UAVs, an additional valid chrominance data view format is <seecref="F:SharpDX.DXGI.Format.R32_UInt"/>. By using <seecref="F:SharpDX.DXGI.Format.R32_UInt"/> for UAVs, you can both read and write as opposed to just write for <seecref="F:SharpDX.DXGI.Format.R16G16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16_UInt"/>. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R16. For chrominance data view, the mapping to the view channel is U->R16 and
V->G16.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_P016']/*"/>
<dd><p>8-bit per channel planar YUV 4:2:0 video resource format. This format is subsampled where each pixel has its own Y value, but each 2x2 pixel block shares a single U and V value. The runtime requires that the width and height of all resources that are created with this format are multiples of 2. The runtime also requires that the left, right, top, and bottom members of any <seecref="T:SharpDX.Rectangle"/> that are used for this format are multiples of 2. This format differs from <seecref="F:SharpDX.DXGI.Format.NV12"/> in that the layout of the data within the resource is completely opaque to applications. Applications cannot use the CPU to map the resource and then access the data within the resource. You cannot use shaders with this format. Because of this behavior, legacy hardware that supports a non-NV12 4:2:0 layout (for example, YV12, and so on) can be used. Also, new hardware that has a 4:2:0 implementation better than NV12 can be used when the application does not need the data to be in a standard layout. </p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_420_OPAQUE']/*"/>
<dd><p>Most common YUV 4:2:2 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UInt"/>. For UAVs, an additional valid view format is <seecref="F:SharpDX.DXGI.Format.R32_UInt"/>. By using <seecref="F:SharpDX.DXGI.Format.R32_UInt"/> for UAVs, you can both read and write as opposed to just write for <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UInt"/>. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R8,
U0->G8,
Y1->B8,
and V0->A8.</p><p>A unique valid view format for this video resource format is <seecref="F:SharpDX.DXGI.Format.R8G8_B8G8_UNorm"/>. With this view format, the width of the view appears to be twice what the <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/> or <seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UInt"/> view would be when hardware reconstructs RGBA automatically on read and before filtering. This Direct3D hardware behavior is legacy and is likely not useful any more. With this view format, the mapping to the view channel is Y0->R8,
U0->
G8[0],
Y1->B8,
and V0->
G8[1].</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_YUY2']/*"/>
<dd><p>10-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UInt"/>. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, <seecref="F:SharpDX.DXGI.Format.Y210"/> is no different than <seecref="F:SharpDX.DXGI.Format.Y216"/>. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16,
U->G16,
Y1->B16,
and V->A16.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_Y210']/*"/>
<dd><p>16-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R16G16B16A16_UInt"/>. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0->R16,
U->G16,
Y1->B16,
and V->A16.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_Y216']/*"/>
<dd><p>Most common planar YUV 4:1:1 video resource format. Valid luminance data view formats for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8_UInt"/>. Valid chrominance data view formats (width and height are each 1/4 of luminance view) for this video resource format are <seecref="F:SharpDX.DXGI.Format.R8G8_UNorm"/> and <seecref="F:SharpDX.DXGI.Format.R8G8_UInt"/>. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y->R8. For chrominance data view, the mapping to the view channel is U->R8 and
V->G8.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_NV11']/*"/>
<dd><p>4-bit palletized YUV format that is commonly used for DVD subpicture.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_AI44']/*"/>
<dd><p>4-bit palletized YUV format that is commonly used for DVD subpicture.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_IA44']/*"/>
<dd><p>8-bit palletized format that is used for palletized RGB data when the processor processes ISDB-T data and for palletized YUV data when the processor processes BluRay data.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_P8']/*"/>
<msdn-id>bb173059</msdn-id>
<unmanaged>DXGI_FORMAT_P8</unmanaged>
<unmanaged-short>DXGI_FORMAT_P8</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.Format.A8P8">
<summary>
<dd><p>8-bit palletized format with 8 bits of alpha that is used for palletized YUV data when the processor processes BluRay data.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_A8P8']/*"/>
<dd><p>A four-component, 16-bit unsigned-normalized integer format that supports 4 bits for each channel including alpha.</p><strong>Direct3D 11:??</strong>This value is not supported until Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FORMAT_B4G4R4A4_UNORM']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current graphics rendering task.</p>
</summary>
<remarks>
<p>You call the <strong><seecref="M:SharpDX.DXGI.Adapter2.GetDesc2(SharpDX.DXGI.AdapterDesc2@)"/></strong> method to retrieve the granularity level at which the GPU can be preempted from performing its current graphics rendering task. The operating system specifies the graphics granularity level in the <strong>GraphicsPreemptionGranularity</strong> member of the <strong><seecref="T:SharpDX.DXGI.AdapterDesc2"/></strong> structure.</p><p>The following figure shows granularity of graphics rendering tasks.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_GRANULARITY']/*"/>
<dd><p>Indicates the preemption granularity as a DMA buffer.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a graphics primitive. A primitive is a section in a DMA buffer and can be a group of triangles.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a triangle. A triangle is a part of a primitive.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a pixel. A pixel is a part of a triangle.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY']/*"/>
<dd><p>Indicates the preemption granularity as a graphics instruction. A graphics instruction operates on a pixel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAP_FLAGS']/*"/>
<unmanaged>DXGI_MAP_FLAGS</unmanaged>
<unmanaged-short>DXGI_MAP_FLAGS</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.MapFlags.Read">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAP_READ']/*"/>
<unmanaged>DXGI_MAP_READ</unmanaged>
<unmanaged-short>DXGI_MAP_READ</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.MapFlags.Write">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAP_WRITE']/*"/>
<unmanaged>DXGI_MAP_WRITE</unmanaged>
<unmanaged-short>DXGI_MAP_WRITE</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.MapFlags.Discard">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAP_DISCARD']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies the importance of a resource?s content when you call the <strong><seecref="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)"/></strong> method to offer the resource.</p>
</summary>
<remarks>
<p>Priority determines how likely the operating system is to discard an offered resource. Resources offered with lower priority are discarded first.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OFFER_RESOURCE_PRIORITY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OFFER_RESOURCE_PRIORITY_LOW']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OFFER_RESOURCE_PRIORITY_NORMAL']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OFFER_RESOURCE_PRIORITY_HIGH']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_FLAGS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_TEST']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_DO_NOT_SEQUENCE']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_RESTART']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_DO_NOT_WAIT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_STEREO_PREFER_RIGHT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_STEREO_TEMPORARY_MONO']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_RESTRICT_TO_OUTPUT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='']/*"/>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.Residency">
<summary>
<p>Flags indicating the memory location of a resource.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESIDENCY']/*"/>
<dd><p>The resource is located in video memory.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESIDENCY_FULLY_RESIDENT']/*"/>
<dd><p>At least some of the resource is located in CPU memory.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY']/*"/>
<dd><p>At least some of the resource has been paged out to the hard drive.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESIDENCY_EVICTED_TO_DISK']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY_MINIMUM']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY_LOW']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY_NORMAL']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY_HIGH']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RESOURCE_PRIORITY_MAXIMUM']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies resize behavior when the back-buffer size does not match the size of the target output.</p>
</summary>
<remarks>
<p>The <strong><seecref="F:SharpDX.DXGI.Scaling.None"/></strong> value is supported only for flip presentation model swap chains that you create with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value. You pass these values in a call to <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>, or <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SCALING']/*"/>
<msdn-id>hh404526</msdn-id>
<unmanaged>DXGI_SCALING</unmanaged>
<unmanaged-short>DXGI_SCALING</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.Scaling.Stretch">
<summary>
<dd><p>Directs DXGI to make the back-buffer contents scale to fit the presentation target size. This is the implicit behavior of DXGI when you call the <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong> method.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SCALING_STRETCH']/*"/>
<dd><p>Directs DXGI to make the back-buffer contents appear without any scaling when the presentation target size is not equal to the back-buffer size. The top edges of the back buffer and presentation target are aligned together. If the WS_EX_LAYOUTRTL style is associated with the <strong><seecref="T:System.IntPtr"/></strong> handle to the target output window, the right edges of the back buffer and presentation target are aligned together; otherwise, the left edges are aligned together. All target area outside the back buffer is filled with window background color.</p><p>This value specifies that all target areas outside the back buffer of a swap chain are filled with the background color that you specify in a call to <strong><seecref="M:SharpDX.DXGI.SwapChain1.SetBackgroundColor(SharpDX.Color4)"/></strong>.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SCALING_NONE']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SCALING_ASPECT_RATIO_STRETCH']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SHARED_RESOURCE_FLAGS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SHARED_RESOURCE_READ']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SHARED_RESOURCE_WRITE']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='']/*"/>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.SwapChainFlags">
<summary>
<p>Options for swap-chain behavior.</p>
</summary>
<remarks>
<p>This enumeration is used by the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong> structure and the <strong><seecref="M:SharpDX.DXGI.SwapChain.ResizeTarget(SharpDX.DXGI.ModeDescription@)"/></strong> method.</p><p>This enumeration is also used by the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure.</p><p>Swap chains that you create in full-screen mode with the <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong> method behave as if <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.DisplayOnly"/></strong> is set even though the flag is not set. That is, presented content is not accessible by remote access or through the <strong>desktop duplication APIs</strong>. </p><p>Swap chains that you create with the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong>IDXGIFactory2::CreateSwapChainForImmersiveWindow</strong>, and <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong> methods are not protected if <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.DisplayOnly"/></strong> is not set and are protected if <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.DisplayOnly"/></strong> is set. When swap chains are protected, screen scraping is prevented and, in full-screen mode, presented content is not accessible through the <strong>desktop duplication APIs</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG']/*"/>
<dd><p>Set this flag to turn off automatic image rotation; that is, do not perform a rotation when transferring the contents of the front buffer to the monitor. Use this flag to avoid a bandwidth penalty when an application expects to handle rotation. This option is valid only during full-screen mode. </p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_NONPREROTATED']/*"/>
<dd><p>Set this flag to enable an application to switch modes by calling <strong><seecref="M:SharpDX.DXGI.SwapChain.ResizeTarget(SharpDX.DXGI.ModeDescription@)"/></strong>. When switching from windowed to full-screen mode, the display mode (or monitor resolution) will be changed to match the dimensions of the application window.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH']/*"/>
<dd><p>Set this flag to enable an application to render using GDI on a swap chain or a surface. This will allow the application to call <strong><seecref="M:SharpDX.DXGI.Surface1.GetDC(SharpDX.Bool)"/></strong> on the 0th back buffer or a surface.</p></dd>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE']/*"/>
<dd><p>Set this flag to indicate that the swap chain might contain protected content; therefore, the operating system supports the creation of the swap chain only when driver and hardware protection is used. If the driver and hardware do not support content protection, the call to create a resource for the swap chain fails.</p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT']/*"/>
<dd><p>Set this flag to indicate that shared resources that are created within the swap chain must be protected by using the driver?s mechanism for restricting access to shared surfaces.</p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER']/*"/>
<dd><p>Set this flag to restrict presented content to the local displays. Therefore, the presented content is not accessible via remote accessing or through the <strong>desktop duplication APIs</strong>. </p><p>This flag supports the window content protection features of Windows. Applications can use this flag to protect their own onscreen window content from being captured or copied through a specific set of public operating system features and APIs.</p><p>If you use this flag with windowed (<strong><seecref="T:System.IntPtr"/></strong> or <strong>IWindow</strong>) swap chains where another process created the <strong><seecref="T:System.IntPtr"/></strong>, the owner of the <strong><seecref="T:System.IntPtr"/></strong> must use the <strong>SetWindowDisplayAffinity</strong> function appropriately in order to allow calls to <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> to succeed.
</p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows Developer Preview. </dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='']/*"/>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.SwapEffect">
<summary>
<p>Options for handling pixels in a display surface after calling <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong>.</p>
</summary>
<remarks>
<p>This enumeration is used by the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong> structure.</p><p>This enumeration is also used by the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure.</p><p>The primary difference between presentation models is how back-buffer contents get to the Desktop Window Manager (DWM) for composition. In the bitblt model, which is used with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.Discard"/></strong> and <strong><seecref="F:SharpDX.DXGI.SwapEffect.Sequential"/></strong> values, contents of the back buffer get copied into the redirection surface on each call to <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong>. In the flip model, which is used with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value, all back buffers are shared with the DWM. Therefore, the DWM can compose straight from those back buffers without any additional copy operations.
In general, the flip model is the more efficient model. The flip model also provides more features, such as enhanced present statistics.
</p><p>Regardless of whether the flip model is more efficient, an application still might choose the bitblt model for the following reasons:</p><ul><li><p>The bitblt model is the only way to mix GDI and DirectX presentation.</p><p>In the flip model, the application must create the swap chain with <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.GdiCompatible"/></strong>, and then must use <strong>GetDC</strong> on the back buffer explicitly. After the first successful call to <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> on a flip-model swap chain, GDI no longer works with the <strong><seecref="T:System.IntPtr"/></strong> that is associated with that swap chain, even after the destruction of the swap chain. This restriction even extends to methods like <strong>ScrollWindowEx</strong>.</p></li><li>The flip model requires at least three window-sized buffers if the application uses child windows. For the bitblt model, this minimum is two buffers.</li></ul><p></p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_EFFECT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_EFFECT_DISCARD']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_EFFECT_SEQUENTIAL']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_ENUM']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_SHADER_INPUT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_RENDER_TARGET_OUTPUT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_BACK_BUFFER']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_SHARED']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_READ_ONLY']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_DISCARD_ON_PRESENT']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_USAGE_UNORDERED_ACCESS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MWA_FLAGS']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MWA_NO_WINDOW_CHANGES']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MWA_NO_ALT_ENTER']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MWA_NO_PRINT_SCREEN']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MWA_VALID']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='']/*"/>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.DXGI">
<summary>
Functions
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='SharpDX.DXGI.DXGI']/*"/>
<p>Creates a DXGI 1.1 factory that generates objects used to enumerate and specify video graphics settings.</p>
</summary>
<paramname="riid"><dd><p>The globally unique identifier (<seecref="T:System.Guid"/>) of the <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> object referenced by the <em>ppFactory</em> parameter.</p></dd></param>
<paramname="factoryOut"><dd><p>Address of a reference to an <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> object.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>Use a DXGI 1.1 factory to generate objects that <strong>enumerate adapters</strong>, <strong>create swap chains</strong>, and <strong>associate a window</strong> with the alt+enter key sequence for toggling to and from the full-screen display mode. </p><p>If the <strong>CreateDXGIFactory1</strong> function succeeds, the reference count on the <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> interface is incremented. To avoid a memory leak, when you finish using the interface, call the <strong>IDXGIFactory1::Release</strong> method to release the interface.</p><p>This entry point is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p><strong>Note</strong>??Do not mix the use of DXGI 1.0 (<strong><seecref="T:SharpDX.DXGI.Factory"/></strong>) and DXGI 1.1 (<strong><seecref="T:SharpDX.DXGI.Factory1"/></strong>) in an application. Use <strong><seecref="T:SharpDX.DXGI.Factory"/></strong> or <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong>, but not both in an application.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='CreateDXGIFactory1']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='SharpDX.DXGI.ResultCode']/*"/>
<p>The <strong><seecref="T:SharpDX.DXGI.Adapter1"/></strong> interface represents a display sub-system (including one or more GPU's, DACs and video memory).</p>
</summary>
<remarks>
<p>This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>A display sub-system is often referred to as a video card, however, on some machines the display sub-system is part of the mother board.</p><p>To enumerate the display sub-systems, use <strong><seecref="M:SharpDX.DXGI.Factory1.GetAdapter1(System.Int32)"/></strong>. To get an interface to the adapter for a particular device, use <strong><seecref="M:SharpDX.DXGI.Device.GetAdapter(SharpDX.DXGI.Adapter@)"/></strong>. To create a software adapter, use <strong><seecref="M:SharpDX.DXGI.Factory.CreateSoftwareAdapter(System.IntPtr)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter1']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Adapter1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Gets a DXGI 1.1 description of an adapter (or video card).</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.AdapterDescription1"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>GetDesc1</strong> method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter1::GetDesc1']/*"/>
<p>Gets a DXGI 1.1 description of an adapter (or video card).</p>
</summary>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>GetDesc1</strong> method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the <strong><seecref="T:SharpDX.DXGI.Adapter"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter1::GetDesc1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.</p>
</summary>
<remarks>
<p>Use the <strong>GetDesc2</strong> method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter1.GetDescription1(SharpDX.DXGI.AdapterDescription1@)"/></strong> method. To get a DXGI 1.0 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter.GetDescription(SharpDX.DXGI.AdapterDescription@)"/></strong> method.</p><p>The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet. </p><p>A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.Dispatch"/></strong> method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the <strong>GetDesc2</strong> method to retrieve the granularity levels for graphics and compute tasks.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter2']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Adapter2"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.AdapterDesc2"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>Use the <strong>GetDesc2</strong> method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter1.GetDescription1(SharpDX.DXGI.AdapterDescription1@)"/></strong> method. To get a DXGI 1.0 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter.GetDescription(SharpDX.DXGI.AdapterDescription@)"/></strong> method.</p><p>The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet. </p><p>A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.Dispatch"/></strong> method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the <strong>GetDesc2</strong> method to retrieve the granularity levels for graphics and compute tasks.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter2::GetDesc2']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.</p>
</summary>
<remarks>
<p>Use the <strong>GetDesc2</strong> method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter1.GetDescription1(SharpDX.DXGI.AdapterDescription1@)"/></strong> method. To get a DXGI 1.0 description, use the <strong><seecref="M:SharpDX.DXGI.Adapter.GetDescription(SharpDX.DXGI.AdapterDescription@)"/></strong> method.</p><p>The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet. </p><p>A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.Dispatch"/></strong> method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the <strong>GetDesc2</strong> method to retrieve the granularity levels for graphics and compute tasks.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIAdapter2::GetDesc2']/*"/>
<p>An <strong><seecref="T:SharpDX.DXGI.Device1"/></strong> interface implements a derived class for DXGI objects that produce image data.</p>
</summary>
<remarks>
<p>This interface is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>The <strong><seecref="T:SharpDX.DXGI.Device1"/></strong> interface is designed for use by DXGI objects that need access to other DXGI objects. This interface is useful to applications that do not use Direct3D to communicate with DXGI.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice1']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Device1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Sets the number of frames that the system is allowed to queue for rendering.</p>
</summary>
<paramname="maxLatency"><dd><p>The maximum number of back buffer frames that a driver can queue. The value defaults to 3, but can range from 1 to 16. A value of 0 will reset latency to the default. For multi-head devices, this value is specified per-head.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, <seecref="F:SharpDX.DXGI.ResultCode.DeviceRemoved"/> if the device was removed.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice1::SetMaximumFrameLatency']/*"/>
<msdn-id>ff471334</msdn-id>
<unmanaged>HRESULT IDXGIDevice1::SetMaximumFrameLatency([In] unsigned int MaxLatency)</unmanaged>
<p>Gets the number of frames that the system is allowed to queue for rendering.</p>
</summary>
<paramname="maxLatencyRef"><dd><p>This value is set to the number of frames that can be queued for render. This value defaults to 3, but can range from 1 to 16.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following members of the D3DERR enumerated type:</p><ul><li><strong>D3DERR_DEVICELOST</strong></li><li><strong>D3DERR_DEVICEREMOVED</strong></li><li><strong>D3DERR_DRIVERINTERNALERROR</strong></li><li><strong>D3DERR_INVALIDCALL</strong></li><li><strong>D3DERR_OUTOFVIDEOMEMORY</strong></li></ul></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice1::GetMaximumFrameLatency']/*"/>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice1::GetMaximumFrameLatency']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.</p>
</summary>
<remarks>
<p><strong>EnqueueSetEvent</strong> calls the <strong>SetEvent</strong> function on the event object after all previously submitted rendering commands complete or the device is removed.</p><p>After an application calls <strong>EnqueueSetEvent</strong>, it can immediately call the <strong>WaitForSingleObject</strong> function to put itself to sleep until rendering commands complete.</p><p>You cannot use <strong>EnqueueSetEvent</strong> to determine work completion that is associated with presentation (<strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong>); instead, we recommend that you use <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Device2"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Allows the operating system to free the video memory of resources by discarding their content.</p>
</summary>
<paramname="numResources"><dd><p>The number of resources in the <em>ppResources</em> argument array.</p></dd></param>
<paramname="resourcesOut"><dd><p>An array of references to <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p></dd></param>
<paramname="priority"><dd><p>A <strong><seecref="T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p></dd></param>
<returns><p><strong>OfferResources</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if resources were successfully offered</li><li>E_INVALIDARG if a resource in the array or the priority is invalid</li></ul></returns>
<remarks>
<p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>IDXGIDevice2::ReclaimResource</strong> method to reclaim the resource. You cannot call <strong>OfferResources</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources</strong> only while you hold the mutex.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2::OfferResources']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Allows the operating system to free the video memory of resources by discarding their content.</p>
</summary>
<paramname="numResources"><dd><p>The number of resources in the <em>ppResources</em> argument array.</p></dd></param>
<paramname="resourcesOut"><dd><p>An array of references to <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p></dd></param>
<paramname="priority"><dd><p>A <strong><seecref="T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p></dd></param>
<returns><p><strong>OfferResources</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if resources were successfully offered</li><li>E_INVALIDARG if a resource in the array or the priority is invalid</li></ul></returns>
<remarks>
<p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>IDXGIDevice2::ReclaimResource</strong> method to reclaim the resource. You cannot call <strong>OfferResources</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources</strong> only while you hold the mutex.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2::OfferResources']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Restores access to resources that were previously offered by calling <strong><seecref="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)"/></strong>.</p>
<returns><p><strong>ReclaimResources</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if resources were successfully reclaimed</li><li>E_INVALIDARG if the resources are invalid</li></ul></returns>
<remarks>
<p>After you call <strong><seecref="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)"/></strong> to offer one or more resources, you must call <strong>ReclaimResources</strong> before you can use those resources again. You must check the values in the array at <em>pDiscarded</em> to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.</p><p>To reclaim shared resources, call <strong>ReclaimResources</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources</strong> only while you hold the mutex.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2::ReclaimResources']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Restores access to resources that were previously offered by calling <strong><seecref="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)"/></strong>.</p>
<returns><p><strong>ReclaimResources</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if resources were successfully reclaimed</li><li>E_INVALIDARG if the resources are invalid</li></ul></returns>
<remarks>
<p>After you call <strong><seecref="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)"/></strong> to offer one or more resources, you must call <strong>ReclaimResources</strong> before you can use those resources again. You must check the values in the array at <em>pDiscarded</em> to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.</p><p>To reclaim shared resources, call <strong>ReclaimResources</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources</strong> only while you hold the mutex.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2::ReclaimResources']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.</p>
</summary>
<paramname="hEvent"><dd><p>A handle to the event object. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle. All types of event objects (manual-reset, auto-reset, and so on) are supported.</p><p>The handle must have the EVENT_MODIFY_STATE access right. For more information about access rights, see Synchronization Object Security and Access Rights.</p></dd></param>
<returns><p>Returns <strong><seecref="F:SharpDX.Result.Ok"/></strong> if successful; otherwise, returns one of the following values:</p><ul><li><strong>E_OUTOFMEMORY</strong> if insufficient memory is available to complete the operation.</li><li><strong>E_INVALIDARG</strong> if the parameter was validated and determined to be incorrect.</li></ul></returns>
<remarks>
<p><strong>EnqueueSetEvent</strong> calls the <strong>SetEvent</strong> function on the event object after all previously submitted rendering commands complete or the device is removed.</p><p>After an application calls <strong>EnqueueSetEvent</strong>, it can immediately call the <strong>WaitForSingleObject</strong> function to put itself to sleep until rendering commands complete.</p><p>You cannot use <strong>EnqueueSetEvent</strong> to determine work completion that is associated with presentation (<strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong>); instead, we recommend that you use <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIDevice2::EnqueueSetEvent']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a swap chain that is associated with an <strong>IWindow</strong> object for the output window for the swap chain.</p>
</summary>
<remarks>
<p><strong>Note</strong>??Use this method in Metro style apps rather than <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>.</p><p>If you specify the width, height, or both (<strong>Width</strong> and <strong>Height</strong> members of <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> that <em>pDesc</em> points to) of the swap chain as zero, the runtime obtains the size from the output window that the <em>pWindow</em> parameter specifies. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the assigned width or height value.</p><p>Because you can associate only one flip presentation model swap chain at a time with an <strong>IWindow</strong>, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see <strong>Deferred Destruction Issues with Flip Presentation Swap Chains</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Factory2"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Determines whether to use stereo mode.</p>
</summary>
<returns><p>Indicates whether to use stereo mode. <strong>TRUE</strong> indicates that you can use stereo mode; otherwise, <strong><seecref="F:SharpDX.Result.False"/></strong>.</p></returns>
<remarks>
<p>We recommend that windowed applications call <strong>IsWindowedStereoEnabled</strong> before they attempt to use stereo. <strong>IsWindowedStereoEnabled</strong> returns <strong>TRUE</strong> if both of the following items are true:</p><ul><li>All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 Consumer Preview (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.</li><li>The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.</li></ul><p>The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.</p><p>The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::IsWindowedStereoEnabled']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Creates a swap chain that is associated with an <strong><seecref="T:System.IntPtr"/></strong> handle to the output window for the swap chain.</p>
<p><strong>Note</strong>??Do not use this method in Metro style apps. Instead, use <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>.</p><p>If you specify the width, height, or both (<strong>Width</strong> and <strong>Height</strong> members of <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> that <em>pDesc</em> points to) of the swap chain as zero, the runtime obtains the size from the output window that the <em>hWnd</em> parameter specifies. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the assigned width or height value.</p><p>Because you can associate only one flip presentation model swap chain at a time with an <strong><seecref="T:System.IntPtr"/></strong>, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see <strong>Deferred Destruction Issues with Flip Presentation Swap Chains</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::CreateSwapChainForHwnd']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a swap chain that is associated with an <strong>IWindow</strong> object for the output window for the swap chain.</p>
</summary>
<paramname="deviceRef"><dd><p>A reference to the Direct3D device for the swap chain. This parameter cannot be <strong><c>null</c></strong>.</p></dd></param>
<paramname="windowRef"><dd><p>A reference to the <strong>IWindow</strong> object that is associated with the swap chain that <strong>CreateSwapChainForCoreWindow</strong> creates.</p></dd></param>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure for the swap-chain description. This parameter cannot be <strong><c>null</c></strong>.</p></dd></param>
<paramname="restrictToOutputRef"><dd><p>A reference to the <strong><seecref="T:SharpDX.DXGI.Output"/></strong> interface that the swap chain is restricted to. If the swap chain is moved to a different output, the content is black. You can optionally set this parameter to an output target that uses <strong><seecref="F:SharpDX.DXGI.PresentFlags.RestrictToOutput"/></strong> to restrict the content on this output. If you do not set this parameter to restrict content on an output target, you can set it to <strong><c>null</c></strong>. </p></dd></param>
<returns><dd><p>A reference to a variable that receives a reference to the <strong><seecref="T:SharpDX.DXGI.SwapChain1"/></strong> interface for the swap chain that <strong>CreateSwapChainForCoreWindow</strong> creates.</p></dd></returns>
<remarks>
<p><strong>Note</strong>??Use this method in Metro style apps rather than <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>.</p><p>If you specify the width, height, or both (<strong>Width</strong> and <strong>Height</strong> members of <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> that <em>pDesc</em> points to) of the swap chain as zero, the runtime obtains the size from the output window that the <em>pWindow</em> parameter specifies. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the assigned width or height value.</p><p>Because you can associate only one flip presentation model swap chain at a time with an <strong>IWindow</strong>, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see <strong>Deferred Destruction Issues with Flip Presentation Swap Chains</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::CreateSwapChainForCoreWindow']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Identifies the adapter on which a shared resource object was created.</p>
</summary>
<paramname="hResource"><dd><p>A handle to a shared resource object. The <strong><seecref="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})"/></strong> method returns this handle.</p></dd></param>
<paramname="luidRef"><dd><p>A reference to a variable that receives a locally unique identifier (<strong><seecref="T:System.Int64"/></strong>) value that identifies the adapter. <strong><seecref="T:System.Int64"/></strong> is defined in Dxgi.h. An <strong><seecref="T:System.Int64"/></strong> is a 64-bit value that is guaranteed to be unique only on the operating system on which it was generated. The uniqueness of an <strong><seecref="T:System.Int64"/></strong> is guaranteed only until the operating system is restarted.</p></dd></param>
<returns><p><strong>GetSharedResourceAdapterLuid</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it identified the adapter.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>hResource</em> is invalid.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>You cannot share resources across adapters. Therefore, you cannot open a shared resource on an adapter other than the adapter on which the resource was created. Call <strong>GetSharedResourceAdapterLuid</strong> before you open a shared resource to ensure that the resource was created on the appropriate adapter. To open a shared resource, call the <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/></strong> or <strong><seecref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::GetSharedResourceAdapterLuid']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Registers an application window to receive notification messages of changes of stereo status.</p>
</summary>
<paramname="windowHandle"><dd><p>The handle of the window to send a notification message to when stereo status change occurs.</p></dd></param>
<paramname="wMsg"><dd><p>Identifies the notification message to send. </p></dd></param>
<paramname="dwCookieRef"><dd><p>A reference to a key value that an application can pass to the <strong><seecref="M:SharpDX.DXGI.Factory2.UnregisterStereoStatus(System.Int32)"/></strong> method to unregister the notification message that <em>wMsg</em> specifies.</p></dd></param>
<returns><p><strong>RegisterStereoStatusWindow</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully registered the window.</li><li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::RegisterStereoStatusWindow']/*"/>
<msdn-id>hh404587</msdn-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterStereoStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] unsigned int* pdwCookie)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Registers to receive notification of changes in stereo status by using event signaling.</p>
</summary>
<paramname="hEvent"><dd><p>A handle to the event object that the operating system sets when notification of stereo status change occurs. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle. </p></dd></param>
<paramname="dwCookieRef"><dd><p>A reference to a key value that an application can pass to the <strong><seecref="M:SharpDX.DXGI.Factory2.UnregisterStereoStatus(System.Int32)"/></strong> method to unregister the notification event that <em>hEvent</em> specifies.</p></dd></param>
<returns><p><strong>RegisterStereoStatusEvent</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully registered the event.</li><li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::RegisterStereoStatusEvent']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Unregisters a window or an event to stop it from receiving notification when stereo status changes.</p>
</summary>
<paramname="dwCookie"><dd><p>A key value for the window or event to unregister. The <strong><seecref="M:SharpDX.DXGI.Factory2.RegisterStereoStatusWindow(System.IntPtr,System.Int32,System.Int32@)"/></strong> or <strong><seecref="M:SharpDX.DXGI.Factory2.RegisterStereoStatusEvent(System.IntPtr,System.Int32@)"/></strong> method returns this value. </p></dd></param>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::UnregisterStereoStatus']/*"/>
<msdn-id>hh404593</msdn-id>
<unmanaged>void IDXGIFactory2::UnregisterStereoStatus([In] unsigned int dwCookie)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Registers an application window to receive notification messages of changes of occlusion status.</p>
</summary>
<paramname="windowHandle"><dd><p>The handle of the window to send a notification message to when occlusion status change occurs.</p></dd></param>
<paramname="wMsg"><dd><p>Identifies the notification message to send. </p></dd></param>
<paramname="dwCookieRef"><dd><p>A reference to a key value that an application can pass to the <strong><seecref="M:SharpDX.DXGI.Factory2.UnregisterOcclusionStatus(System.Int32)"/></strong> method to unregister the notification message that <em>wMsg</em> specifies.</p></dd></param>
<returns><p><strong>RegisterOcclusionStatusWindow</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully registered the window.</li><li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>WindowHandle</em> is not a valid window handle or not the window handle that the current process owns.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>Apps choose the Windows message that Windows sends when occlusion status changes.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::RegisterOcclusionStatusWindow']/*"/>
<msdn-id>hh404581</msdn-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterOcclusionStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] unsigned int* pdwCookie)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Registers to receive notification of changes in occlusion status by using event signaling.</p>
</summary>
<paramname="hEvent"><dd><p>A handle to the event object that the operating system sets when notification of occlusion status change occurs. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle.</p></dd></param>
<paramname="dwCookieRef"><dd><p>A reference to a key value that an application can pass to the <strong><seecref="M:SharpDX.DXGI.Factory2.UnregisterOcclusionStatus(System.Int32)"/></strong> method to unregister the notification event that <em>hEvent</em> specifies.</p></dd></param>
<returns><p><strong>RegisterOcclusionStatusEvent</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if the method successfully registered the event.</li><li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>hEvent</em> is not a valid handle or not an event handle. </li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>If you call <strong>RegisterOcclusionStatusEvent</strong> multiple times with the same event handle, <strong>RegisterOcclusionStatusEvent</strong> fails with <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/>.</p><p>If you call <strong>RegisterOcclusionStatusEvent</strong> multiple times with the different event handles, <strong>RegisterOcclusionStatusEvent</strong> properly registers the events.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::RegisterOcclusionStatusEvent']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Unregisters a window or an event to stop it from receiving notification when occlusion status changes.</p>
</summary>
<paramname="dwCookie"><dd><p>A key value for the window or event to unregister. The <strong><seecref="M:SharpDX.DXGI.Factory2.RegisterOcclusionStatusWindow(System.IntPtr,System.Int32,System.Int32@)"/></strong> or <strong><seecref="M:SharpDX.DXGI.Factory2.RegisterOcclusionStatusEvent(System.IntPtr,System.Int32@)"/></strong> method returns this value. </p></dd></param>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::UnregisterOcclusionStatus']/*"/>
<msdn-id>hh404590</msdn-id>
<unmanaged>void IDXGIFactory2::UnregisterOcclusionStatus([In] unsigned int dwCookie)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Creates a swap chain that you can use to send Direct3D content into the DirectComposition API or the <strong>Windows.UI.Xaml</strong> framework to compose in a window.</p>
<p>You can use composition swap chains with either DirectComposition?s <strong>IDCompositionVisual</strong> interface or XAML?s <strong>SwapChainBackgroundPanel</strong> class. For DirectComposition, you can call the <strong>IDCompositionVisual::SetContent</strong> method to set the swap chain as the content of a visual object, which then allows you to bind the swap chain to the visual tree. For XAML, the <strong>SwapChainBackgroundPanel</strong> class exposes a classic COM interface <strong>ISwapChainBackgroundPanelNative</strong>. You can use the <strong>ISwapChainBackgroundPanelNative::SetSwapChain</strong> method to bind to the XAML UI graph.</p><p>The <strong><seecref="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Bool,SharpDX.DXGI.Output)"/></strong>, <strong><seecref="M:SharpDX.DXGI.SwapChain.ResizeTarget(SharpDX.DXGI.ModeDescription@)"/></strong>, <strong><seecref="M:SharpDX.DXGI.SwapChain.GetContainingOutput(SharpDX.DXGI.Output@)"/></strong>, <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetHwnd(System.IntPtr@)"/></strong>, and <strong>IDXGISwapChain::GetCoreWindow</strong> methods aren't valid on this type of swap chain. If you call any of these methods on this type of swap chain, they fail.</p>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::CreateSwapChainForComposition']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Determines whether to use stereo mode.</p>
</summary>
<remarks>
<p>We recommend that windowed applications call <strong>IsWindowedStereoEnabled</strong> before they attempt to use stereo. <strong>IsWindowedStereoEnabled</strong> returns <strong>TRUE</strong> if both of the following items are true:</p><ul><li>All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 Consumer Preview (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.</li><li>The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.</li></ul><p>The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.</p><p>The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIFactory2::IsWindowedStereoEnabled']/*"/>
<p>Using a key, acquires exclusive rendering access to a shared resource.</p>
</summary>
<remarks>
<p>The <strong>AcquireSync</strong> method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.</p><p>When a surface is created using the <strong>D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> value of the <strong>D3D10_RESOURCE_MISC_FLAG</strong> enumeration, you must call the <strong>AcquireSync</strong> method before rendering to the surface. You must call the <strong>ReleaseSync</strong> method when you are done rendering to a surface.</p><p>To acquire a reference to the keyed mutex object of a shared resource, call the <strong>QueryInterface</strong> method of the resource and pass in the <strong>UUID</strong> of the <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> interface. For more information about acquiring this reference, see the following code example.</p><p>The <strong>AcquireSync</strong> method uses the key as follows, depending on the state of the surface:</p><ul><li>On initial creation, the surface is unowned and any device can call the <strong>AcquireSync</strong> method to gain access. For an unowned device, only a key of 0 will succeed. Calling the <strong>AcquireSync</strong> method for any other key will stall the calling CPU thread.</li><li>If the surface is owned by a device when you call the <strong>AcquireSync</strong> method, the CPU thread that called the <strong>AcquireSync</strong> method will stall until the owning device calls the <strong>ReleaseSync</strong> method using the same Key.</li><li>If the surface is unowned when you call the <strong>AcquireSync</strong> method (for example, the last owning device has already called the <strong>ReleaseSync</strong> method), the <strong>AcquireSync</strong> method will succeed if you specify the same key that was specified when the <strong>ReleaseSync</strong> method was last called. Calling the <strong>AcquireSync</strong> method using any other key will cause a stall.</li><li>When the owning device calls the <strong>ReleaseSync</strong> method with a particular key, and more than one device is waiting after calling the <strong>AcquireSync</strong> method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.</li><li>A keyed mutex does not support recursive calls to the <strong>AcquireSync</strong> method.</li></ul>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIKeyedMutex']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.KeyedMutex"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>Using a key, acquires exclusive rendering access to a shared resource.</p>
</summary>
<paramname="key"><dd><p>A value that indicates which device to give access to. This method will succeed when the device that currently owns the surface calls the <strong><seecref="M:SharpDX.DXGI.KeyedMutex.Release(System.Int64)"/></strong> method using the same value. This value can be any UINT64 value.</p></dd></param>
<paramname="dwMilliseconds"><dd><p>The time-out interval, in milliseconds. This method will return if the interval elapses, and the keyed mutex has not been released using the specified <em>Key</em>. If this value is set to zero, the <strong>AcquireSync</strong> method will test to see if the keyed mutex has been released and returns immediately. If this value is set to INFINITE, the time-out interval will never elapse.</p></dd></param>
<returns><p>Return <seecref="F:SharpDX.Result.Ok"/> if successful.</p><p>If the owning device attempted to create another keyed mutex on the same shared resource, <strong>AcquireSync</strong> returns E_FAIL.</p><p><strong>AcquireSync</strong> can also return the following <strong>DWORD</strong> constants. Therefore, you should explicitly check for these constants. If you only use the <strong>SUCCEEDED</strong> macro on the return value to determine if <strong>AcquireSync</strong> succeeded, you will not catch these constants.</p><ul><li>WAIT_ABANDONED - The shared surface and keyed mutex are no longer in a consistent state. If <strong>AcquireSync</strong> returns this value, you should release and recreate both the keyed mutex and the shared surface.</li><li>WAIT_TIMEOUT - The time-out interval elapsed before the specified key was released.</li></ul></returns>
<remarks>
<p>The <strong>AcquireSync</strong> method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.</p><p>When a surface is created using the <strong>D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> value of the <strong>D3D10_RESOURCE_MISC_FLAG</strong> enumeration, you must call the <strong>AcquireSync</strong> method before rendering to the surface. You must call the <strong>ReleaseSync</strong> method when you are done rendering to a surface.</p><p>To acquire a reference to the keyed mutex object of a shared resource, call the <strong>QueryInterface</strong> method of the resource and pass in the <strong>UUID</strong> of the <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> interface. For more information about acquiring this reference, see the following code example.</p><p>The <strong>AcquireSync</strong> method uses the key as follows, depending on the state of the surface:</p><ul><li>On initial creation, the surface is unowned and any device can call the <strong>AcquireSync</strong> method to gain access. For an unowned device, only a key of 0 will succeed. Calling the <strong>AcquireSync</strong> method for any other key will stall the calling CPU thread.</li><li>If the surface is owned by a device when you call the <strong>AcquireSync</strong> method, the CPU thread that called the <strong>AcquireSync</strong> method will stall until the owning device calls the <strong>ReleaseSync</strong> method using the same Key.</li><li>If the surface is unowned when you call the <strong>AcquireSync</strong> method (for example, the last owning device has already called the <strong>ReleaseSync</strong> method), the <strong>AcquireSync</strong> method will succeed if you specify the same key that was specified when the <strong>ReleaseSync</strong> method was last called. Calling the <strong>AcquireSync</strong> method using any other key will cause a stall.</li><li>When the owning device calls the <strong>ReleaseSync</strong> method with a particular key, and more than one device is waiting after calling the <strong>AcquireSync</strong> method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.</li><li>A keyed mutex does not support recursive calls to the <strong>AcquireSync</strong> method.</li></ul>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIKeyedMutex::AcquireSync']/*"/>
<msdn-id>ff471339</msdn-id>
<unmanaged>HRESULT IDXGIKeyedMutex::AcquireSync([In] unsigned longlong Key,[In] unsigned int dwMilliseconds)</unmanaged>
<p>Using a key, releases exclusive rendering access to a shared resource.</p>
</summary>
<paramname="key"><dd><p>A value that indicates which device to give access to. This method succeeds when the device that currently owns the surface calls the <strong>ReleaseSync</strong> method using the same value. This value can be any UINT64 value.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful.</p><p>If the device attempted to release a keyed mutex that is not valid or owned by the device, <strong>ReleaseSync</strong> returns E_FAIL.</p></returns>
<remarks>
<p>The <strong>ReleaseSync</strong> method releases a lock to a surface that is shared between multiple devices. This method uses a key to determine which device currently has exclusive access to the surface.</p><p>When a surface is created using the <strong>D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> value of the <strong>D3D10_RESOURCE_MISC_FLAG</strong> enumeration, you must call the <strong><seecref="M:SharpDX.DXGI.KeyedMutex.Acquire(System.Int64,System.Int32)"/></strong> method before rendering to the surface. You must call the <strong>ReleaseSync</strong> method when you are done rendering to a surface.</p><p>After you call the <strong>ReleaseSync</strong> method, the shared resource is unset from the rendering pipeline. </p><p>To acquire a reference to the keyed mutex object of a shared resource, call the <strong>QueryInterface</strong> method of the resource and pass in the <strong>UUID</strong> of the <strong><seecref="T:SharpDX.DXGI.KeyedMutex"/></strong> interface. For more information about acquiring this reference, see the following code example.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIKeyedMutex::ReleaseSync']/*"/>
<p>An <strong><seecref="T:SharpDX.DXGI.Output"/></strong> interface represents an adapter output (such as a monitor).</p>
</summary>
<remarks>
<p>To see the outputs available, use <strong><seecref="M:SharpDX.DXGI.Adapter.GetOutput(System.Int32)"/></strong>. To see the specific output that the swap chain will update, use <strong><seecref="M:SharpDX.DXGI.SwapChain.GetContainingOutput(SharpDX.DXGI.Output@)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Output"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<paramname="descRef"><dd><p>A reference to the output description (see <strong><seecref="T:SharpDX.DXGI.OutputDescription"/></strong>).</p></dd></param>
<returns><p>Returns a code that indicates success or failure. <seecref="F:SharpDX.Result.Ok"/> if successful, <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>pDesc</em> is passed in as <strong><c>null</c></strong>.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetDesc']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDisplayModeList</strong> anymore to retrieve the matching display mode. Instead, use <strong><seecref="M:SharpDX.DXGI.Output1.GetDisplayModeList1(SharpDX.DXGI.Format,System.Int32,System.Int32@,SharpDX.DXGI.ModeDescription1[])"/></strong>, which supports stereo display mode.]</p><p>Gets the display modes that match the requested format and other input options.</p>
<returns><p>Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case <seecref="F:SharpDX.DXGI.ResultCode.MoreData"/> is returned (if there is not enough room for all the display modes). If <strong>GetDisplayModeList</strong> is called from a Remote Desktop Services session (formerly Terminal Services session), <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/> is returned.</p></returns>
<remarks>
<p>In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).</p><p>As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.</p><pre><code> UINT num = 0;
<seecref="T:SharpDX.DXGI.Format"/> format = <seecref="F:SharpDX.DXGI.Format.R32G32B32A32_Float"/>;
UINT flags = <seecref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Interlaced"/>; pOutput->GetDisplayModeList( format, flags, &num, 0); ... <seecref="T:SharpDX.DXGI.ModeDescription"/> * pDescs = new <seecref="T:SharpDX.DXGI.ModeDescription"/>[num];
pOutput->GetDisplayModeList( format, flags, &num, pDescs); </code></pre>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetDisplayModeList']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>FindClosestMatchingMode</strong> anymore to find the display mode that most closely matches the requested display mode. Instead, use <strong><seecref="M:SharpDX.DXGI.Output1.FindClosestMatchingMode1(SharpDX.DXGI.ModeDescription1@,SharpDX.DXGI.ModeDescription1@,SharpDX.ComObject)"/></strong>, which supports stereo display mode.]</p><p>Finds the display mode that most closely matches the requested display mode.</p>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p><strong>FindClosestMatchingMode</strong> behaves similarly to the <strong><seecref="M:SharpDX.DXGI.Output1.FindClosestMatchingMode1(SharpDX.DXGI.ModeDescription1@,SharpDX.DXGI.ModeDescription1@,SharpDX.ComObject)"/></strong> except <strong>FindClosestMatchingMode</strong> considers only the mono display modes. <strong><seecref="M:SharpDX.DXGI.Output1.FindClosestMatchingMode1(SharpDX.DXGI.ModeDescription1@,SharpDX.DXGI.ModeDescription1@,SharpDX.ComObject)"/></strong> considers only stereo modes if you set the <strong>Stereo</strong> member in the <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> structure that <em>pModeToMatch</em> points to, and considers only mono modes if <strong>Stereo</strong> is not set.</p><p><strong><seecref="M:SharpDX.DXGI.Output1.FindClosestMatchingMode1(SharpDX.DXGI.ModeDescription1@,SharpDX.DXGI.ModeDescription1@,SharpDX.ComObject)"/></strong> returns a matched display-mode set with only stereo modes or only mono modes.
<strong>FindClosestMatchingMode</strong> behaves as though you specified the input mode as mono.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::FindClosestMatchingMode']/*"/>
<p>Halt a thread until the next vertical blank occurs.</p>
</summary>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>A vertical blank occurs when the raster moves from the lower right corner to the upper left corner to begin drawing the next frame.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::WaitForVBlank']/*"/>
<paramname="deviceRef"><dd><p>A reference to the <strong><seecref="T:SharpDX.ComObject"/></strong> interface of a device (such as an <strong>ID3D10Device</strong>).</p></dd></param>
<paramname="exclusive"><dd><p>Set to <strong>TRUE</strong> to enable other threads or applications to take ownership of the device; otherwise, set to <strong><seecref="F:SharpDX.Result.False"/></strong>.</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>When you are finished with the output, call <strong><seecref="M:SharpDX.DXGI.Output.ReleaseOwnership"/></strong>.</p><p><strong>TakeOwnership</strong> should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.</p>Notes for Metro style apps<p>If a Metro style app uses <strong>TakeOwnership</strong>, it fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::TakeOwnership']/*"/>
<p>If you are not using a swap chain, get access to an output by calling <strong><seecref="M:SharpDX.DXGI.Output.TakeOwnership(SharpDX.ComObject,SharpDX.Bool)"/></strong> and release it when you are finished by calling <strong><seecref="M:SharpDX.DXGI.Output.ReleaseOwnership"/></strong>. An application that uses a swap chain will typically not call either of these methods.</p>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::ReleaseOwnership']/*"/>
<p>Gets a description of the gamma-control capabilities.</p>
</summary>
<paramname="gammaCapsRef"><dd><p>A reference to a description of the gamma-control capabilities (see <strong><seecref="T:SharpDX.DXGI.GammaControlCapabilities"/></strong>).</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetGammaControlCapabilities']/*"/>
<paramname="arrayRef"><dd><p>A reference to an array of gamma controls (see <strong><seecref="T:SharpDX.DXGI.GammaControl"/></strong>).</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::SetGammaControl']/*"/>
<paramname="arrayRef"><dd><p>An array of gamma control settings (see <strong><seecref="T:SharpDX.DXGI.GammaControl"/></strong>).</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetGammaControl']/*"/>
<paramname="scanoutSurfaceRef"><dd><p>A reference to a surface (see <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>) used for rendering an image to the screen. The surface must have been created as a back buffer (DXGI_USAGE_BACKBUFFER).</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<p><strong><seecref="M:SharpDX.DXGI.Output.SetDisplaySurface(SharpDX.DXGI.Surface)"/></strong> should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.</p><p>This method should only be called between <strong><seecref="M:SharpDX.DXGI.Output.TakeOwnership(SharpDX.ComObject,SharpDX.Bool)"/></strong> and <strong><seecref="M:SharpDX.DXGI.Output.ReleaseOwnership"/></strong> calls.</p>Notes for Metro style apps<p>If a Metro style app uses <strong>SetDisplaySurface</strong>, it fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::SetDisplaySurface']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDisplaySurfaceData</strong> anymore to retrieve the current display surface. Instead, use <strong><seecref="M:SharpDX.DXGI.Output1.GetDisplaySurfaceData1(SharpDX.DXGI.Resource)"/></strong>, which supports stereo display mode.]</p><p>Gets a copy of the current display surface.</p>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> can only be called when an output is in full-screen mode. If the method succeeds, DXGI fills the destination surface.</p><p>Use <strong><seecref="M:SharpDX.DXGI.Output.GetDescription(SharpDX.DXGI.OutputDescription@)"/></strong> to determine the size (width and height) of the output when you want to allocate space for the destination surface. This is true regardless of target monitor rotation. A destination surface created by a graphics component (such as Direct3D 10) must be created with CPU-write permission (see D3D10_CPU_ACCESS_WRITE). Other surfaces should be created with CPU read-write permission (see D3D10_CPU_ACCESS_READ_WRITE). This method will modify the surface data to fit the destination surface (stretch, shrink, convert format, rotate). The stretch and shrink is performed with point-sampling.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetDisplaySurfaceData']/*"/>
<p>Gets statistics about recently rendered frames.</p>
</summary>
<paramname="statsRef"><dd><p>A reference to frame statistics (see <strong><seecref="T:SharpDX.DXGI.FrameStatistics"/></strong>).</p></dd></param>
<returns><p>If this function succeeds, it returns <seecref="F:SharpDX.Result.Ok"/>. Otherwise, it might return <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/>.</p></returns>
<remarks>
<p>This API is similar to <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong>.</p><p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetFrameStatistics']/*"/>
Find the display mode that most closely matches the requested display mode.
</summary>
<remarks>
Direct3D devices require UNORM formats. This method finds the closest matching available display mode to the mode specified in pModeToMatch. Similarly ranked fields (ie. all specified, or all unspecified, etc) are resolved in the following order. ScanlineOrdering Scaling Format Resolution RefreshRate When determining the closest value for a particular field, previously matched fields are used to filter the display mode list choices, and other fields are ignored. For example, when matching Resolution, the display mode list will have already been filtered by a certain ScanlineOrdering, Scaling, and Format, while RefreshRate is ignored. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode, because the application can choose some values initially, effectively changing the order that fields are chosen. Fields of the display mode are matched one at a time, generally in a specified order. If a field is unspecified, FindClosestMatchingMode gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, then the default desktop output is used to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode will typically return a display mode that matches the desktop settings for this output. Unspecified fields are lower priority than specified fields and will be resolved later than specified fields.
</remarks>
<paramname="device">A reference to the Direct3D device interface. If this parameter is NULL, only modes whose format matches that of pModeToMatch will be returned; otherwise, only those formats that are supported for scan-out by the device are returned. </param>
<paramname="modeToMatch">The desired display mode (see <seecref="T:SharpDX.DXGI.ModeDescription"/>). Members of DXGI_MODE_DESC can be unspecified indicating no preference for that member. A value of 0 for Width or Height indicates the value is unspecified. If either Width or Height are 0 both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of DXGI_MODE_DESC have enumeration values indicating the member is unspecified. If pConnectedDevice is NULL Format cannot be DXGI_FORMAT_UNKNOWN. </param>
<paramname="closestMatch">The mode that most closely matches pModeToMatch. </param>
<returns>Returns one of the following <seecref="!:SharpDX.DXGI.DXGIError"/>. </returns>
Gets the display modes that match the requested format and other input options.
</summary>
<remarks>
In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor). As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.
<code> UINT num = 0;
DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput->GetDisplayModeList( format, flags, &num, 0); ... DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num];
pOutput->GetDisplayModeList( format, flags, &num, pDescs); </code>
</remarks>
<paramname="format">The color format (see <seecref="T:SharpDX.DXGI.Format"/>). </param>
<paramname="flags">format for modes to include (see {{DXGI_ENUM_MODES}}). DXGI_ENUM_MODES_SCALING needs to be specified to expose the display modes that require scaling. Centered modes, requiring no scaling and corresponding directly to the display output, are enumerated by default. </param>
<returns>Returns a list of display modes (see <seecref="T:SharpDX.DXGI.ModeDescription"/>); </returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetDesc']/*"/>
<p>Gets a description of the gamma-control capabilities.</p>
</summary>
<remarks>
<p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetGammaControlCapabilities']/*"/>
<p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetGammaControl']/*"/>
<p>Gets statistics about recently rendered frames.</p>
</summary>
<remarks>
<p>This API is similar to <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong>.</p><p></p><p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput::GetFrameStatistics']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Creates a desktop duplication interface from the <strong><seecref="T:SharpDX.DXGI.Output1"/></strong> interface that represents an adapter output.</p>
</summary>
<remarks>
<p>If an application wants to duplicate the entire desktop, it must create a desktop duplication interface on each active output on the desktop. This interface does not provide an explicit way to synchronize the timing of each output image. Instead, the application must use the time stamp of each output, and then determine how to combine the images.</p><p>For <strong>DuplicateOutput</strong> to succeed, you must create <em>pDevice</em> from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> or a later version of a DXGI factory interface that inherits from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong>.</p><p>If the current mode is a stereo mode, the desktop duplication interface provides the image for the left stereo image only.</p><p>By default, only four processes can use a <strong>IDXGIOutputDuplication</strong> interface at the same time within a single session. A process can have only one desktop duplication interface on a single desktop output; however, that process can have a desktop duplication interface for each output that is part of the desktop. </p><p>If <strong>DuplicateOutput</strong> fails with <seecref="F:SharpDX.DXGI.ResultCode.Unsupported"/>, the application can wait for system notification of desktop switches and mode changes and then call <strong>DuplicateOutput</strong> again after such a notification occurs. For more information, see information in desktop switch (<strong>EVENT_SYSTEM_DESKTOPSWITCH</strong>) and mode change notification (<strong>WM_DISPLAYCHANGE</strong>). </p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput1']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.Output1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the display modes that match the requested format and other input options.</p>
</summary>
<paramname="enumFormat"><dd><p>A <strong><seecref="T:SharpDX.DXGI.Format"/></strong>-typed value for the color format.</p></dd></param>
<paramname="flags"><dd><p>A combination of DXGI_ENUM_MODES-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for display modes to include. You must specify <seecref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Scaling"/> to expose the display modes that require scaling. Centered modes that require no scaling and correspond directly to the display output are enumerated by default.</p></dd></param>
<paramname="numModesRef"><dd><p>A reference to a variable that receives the number of display modes that <strong>GetDisplayModeList1</strong> returns in the memory block to which <em>pDesc</em> points. Set <em>pDesc</em> to <strong><c>null</c></strong> so that <em>pNumModes</em> returns the number of display modes that match the format and the options. Otherwise, <em>pNumModes</em> returns the number of display modes returned in <em>pDesc</em>.</p></dd></param>
<paramname="descRef"><dd><p>A reference to a list of display modes; set to <strong><c>null</c></strong> to get the number of display modes.</p></dd></param>
<returns><p>Returns one of the error codes described in the DXGI_ERROR topic. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case <seecref="F:SharpDX.DXGI.ResultCode.MoreData"/> is returned (if there is not enough room for all the display modes).</p></returns>
<remarks>
<p><strong>GetDisplayModeList1</strong> is updated from <strong>GetDisplayModeList</strong> to return a list of <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> structures, which are updated mode descriptions. <strong>GetDisplayModeList</strong> behaves as though it calls <strong>GetDisplayModeList1</strong> because <strong>GetDisplayModeList</strong> can return all of the modes that are specified by DXGI_ENUM_MODES, including stereo mode. However, <strong>GetDisplayModeList</strong> returns a list of <strong><seecref="T:SharpDX.DXGI.ModeDescription"/></strong> structures, which are the former mode descriptions and do not indicate stereo mode.</p><p>The <strong>GetDisplayModeList1</strong> method does not enumerate stereo modes unless you specify the <seecref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Stereo"/> flag in the <em>Flags</em> parameter. If you specify <seecref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Stereo"/>, stereo modes are included in the list of returned modes that the <em>pDesc</em> parameter points to. In other words, the method returns both stereo and mono modes.</p><p>In general, when you switch from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth, and refresh rate of the swap chain. To exercise more control over the display mode, use <strong>GetDisplayModeList1</strong> to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).</p><p>The following example code shows that you need to call <strong>GetDisplayModeList1</strong> twice. First call <strong>GetDisplayModeList1</strong> to get the number of modes available, and second call <strong>GetDisplayModeList1</strong> to return a description of the modes.</p><pre><code> UINT num = 0;
<seecref="T:SharpDX.DXGI.Format"/> format = <seecref="F:SharpDX.DXGI.Format.R32G32B32A32_Float"/>;
UINT flags = <seecref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Interlaced"/>; pOutput->GetDisplayModeList1( format, flags, &num, 0); ... <seecref="T:SharpDX.DXGI.ModeDescription1"/> * pDescs = new <seecref="T:SharpDX.DXGI.ModeDescription1"/>[num];
pOutput->GetDisplayModeList1( format, flags, &num, pDescs); </code></pre>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput1::GetDisplayModeList1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Finds the display mode that most closely matches the requested display mode.</p>
</summary>
<paramname="modeToMatchRef"><dd><p>A reference to the <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> structure that describes the display mode to match. Members of <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> can be unspecified, which indicates no preference for that member. A value of 0 for <strong>Width</strong> or <strong>Height</strong> indicates that the value is unspecified. If either <strong>Width</strong> or <strong>Height</strong> is 0, both must be 0. A numerator and denominator of 0 in <strong>RefreshRate</strong> indicate it is unspecified. Other members of <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> have enumeration values that indicate that the member is unspecified. If <em>pConcernedDevice</em> is <strong><c>null</c></strong>, the <strong>Format</strong> member of <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> cannot be <strong><seecref="F:SharpDX.DXGI.Format.Unknown"/></strong>.</p></dd></param>
<paramname="closestMatchRef"><dd><p>A reference to the <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> structure that receives a description of the display mode that most closely matches the display mode described at <em>pModeToMatch</em>.</p></dd></param>
<paramname="concernedDeviceRef"><dd><p>A reference to the Direct3D device interface. If this parameter is <strong><c>null</c></strong>, <strong>FindClosestMatchingMode1</strong> returns only modes whose format matches that of <em>pModeToMatch</em>; otherwise, <strong>FindClosestMatchingMode1</strong> returns only those formats that are supported for scan-out by the device. For info about the formats that are supported for scan-out by the device at each feature level, see Hardware Support for Direct3D 10 Formats, Hardware Support for Direct3D 10.1 Formats, Hardware Support for Direct3D 10Level9 Formats, Hardware Support for Direct3D 11 Formats, and Hardware Support for Direct3D 11.1 Formats.</p></dd></param>
<returns><p>Returns one of the error codes described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p>Direct3D devices require UNORM formats.</p><p><strong>FindClosestMatchingMode1</strong> finds the closest matching available display mode to the mode that you specify in <em>pModeToMatch</em>.</p><p>If you set the <strong>Stereo</strong> member in the <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> structure to which <em>pModeToMatch</em> points to specify a stereo mode as input, <strong>FindClosestMatchingMode1</strong> considers only stereo modes. <strong>FindClosestMatchingMode1</strong> considers only mono modes if <strong>Stereo</strong> is not set.</p><p><strong>FindClosestMatchingMode1</strong> resolves similarly ranked members of display modes (that is, all specified, or all unspecified, and so on) in the following order:</p><ol><li><strong>ScanlineOrdering</strong></li><li><strong>Scaling</strong></li><li><strong>Format</strong></li><li><strong>Resolution</strong></li><li><strong>RefreshRate</strong></li></ol><p>When <strong>FindClosestMatchingMode1</strong> determines the closest value for a particular member, it uses previously matched members to filter the display mode list choices, and ignores other members. For example, when <strong>FindClosestMatchingMode1</strong> matches <strong>Resolution</strong>, it already filtered the display mode list by a certain <strong>ScanlineOrdering</strong>, <strong>Scaling</strong>, and <strong>Format</strong>, while it ignores <strong>RefreshRate</strong>. This ordering doesn't define the absolute ordering for every usage scenario of <strong>FindClosestMatchingMode1</strong>, because the application can choose some values initially, which effectively changes the order of resolving members.</p><p><strong>FindClosestMatchingMode1</strong> matches members of the display mode one at a time, generally in a specified order.</p><p>If a member is unspecified, <strong>FindClosestMatchingMode1</strong> gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, <strong>FindClosestMatchingMode1</strong> uses the default desktop output to find values. If an application uses a fully unspecified display mode, <strong>FindClosestMatchingMode1</strong> typically returns a display mode that matches the desktop settings for this output. Because unspecified members are lower priority than specified members, <strong>FindClosestMatchingMode1</strong> resolves unspecified members later than specified members.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput1::FindClosestMatchingMode1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Copies the display surface (front buffer) to a user-provided resource.</p>
</summary>
<paramname="destinationRef"><dd><p>A reference to a resource interface that represents the resource to which <strong>GetDisplaySurfaceData1</strong> copies the display surface.</p></dd></param>
<returns><p>Returns one of the error codes described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p><strong>GetDisplaySurfaceData1</strong> is similar to <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> except <strong>GetDisplaySurfaceData1</strong> takes an <strong><seecref="T:SharpDX.DXGI.Resource"/></strong> and <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> takes an <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>.</p><p><strong>GetDisplaySurfaceData1</strong> returns an error if the input resource is not a 2D texture (represented by the <strong><seecref="!:SharpDX.Direct3D11.Texture2D"/></strong> interface) with an array size (<strong>ArraySize</strong> member of the <strong><seecref="!:SharpDX.Direct3D11.Texture2DDescription"/></strong> structure) that is equal to the swap chain buffers.</p><p>The original <strong><seecref="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)"/></strong> and the updated <strong>GetDisplaySurfaceData1</strong> behave exactly the same. <strong>GetDisplaySurfaceData1</strong> was required because textures with an array size equal to 2 (<strong>ArraySize</strong> = 2) do not implement <strong><seecref="T:SharpDX.DXGI.Surface"/></strong>.</p><p> You can call <strong>GetDisplaySurfaceData1</strong> only when an output is in full-screen mode. If <strong>GetDisplaySurfaceData1</strong> succeeds, it fills the destination resource.</p><p>Use <strong><seecref="M:SharpDX.DXGI.Output.GetDescription(SharpDX.DXGI.OutputDescription@)"/></strong> to determine the size (width and height) of the output when you want to allocate space for the destination resource. This is true regardless of target monitor rotation. A destination resource created by a graphics component (such as Direct3D 11) must be created with CPU write permission (see <strong><seecref="!:SharpDX.Direct3D11.CpuAccessFlags.Write"/></strong>). Other surfaces can be created with CPU read-write permission (<strong><seecref="!:SharpDX.Direct3D11.CpuAccessFlags.Read"/></strong> | <strong><seecref="!:SharpDX.Direct3D11.CpuAccessFlags.Write"/></strong>). <strong>GetDisplaySurfaceData1</strong> modifies the surface data to fit the destination resource (stretch, shrink, convert format, rotate). <strong>GetDisplaySurfaceData1</strong> performs the stretch and shrink with point sampling. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput1::GetDisplaySurfaceData1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Creates a desktop duplication interface from the <strong><seecref="T:SharpDX.DXGI.Output1"/></strong> interface that represents an adapter output.</p>
<returns><p><strong>DuplicateOutput</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if <strong>DuplicateOutput</strong> successfully created the desktop duplication interface.</li><li>E_INVALIDARG for one of the following reasons: <ul><li>The specified device (<em>pDevice</em>) is invalid, was not created on the correct adapter, or was not created from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> (or a later version of a DXGI factory interface that inherits from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong>).</li><li>The calling application is already duplicating this desktop output.</li></ul>For more information about this error, see Remarks.</li><li>E_ACCESSDENIED if the application does not have access privilege to the current desktop image. For example, only an application that runs at LOCAL_SYSTEM can access the secure desktop.</li><li><seecref="F:SharpDX.DXGI.ResultCode.Unsupported"/> if the created <strong>IDXGIOutputDuplication</strong> interface does not support the current desktop mode or scenario. For example, 8bpp and non-DWM desktop modes are not supported.</li><li><seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/> if DXGI reached the limit on the maximum number of concurrent duplication applications (default of four). Therefore, the calling application cannot create any desktop duplication interfaces until the other applications close.</li><li><seecref="F:SharpDX.DXGI.ResultCode.SessionDisconnected"/> if <strong>DuplicateOutput</strong> failed because the session is currently disconnected.</li><li>Other error codes are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>If an application wants to duplicate the entire desktop, it must create a desktop duplication interface on each active output on the desktop. This interface does not provide an explicit way to synchronize the timing of each output image. Instead, the application must use the time stamp of each output, and then determine how to combine the images.</p><p>For <strong>DuplicateOutput</strong> to succeed, you must create <em>pDevice</em> from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong> or a later version of a DXGI factory interface that inherits from <strong><seecref="T:SharpDX.DXGI.Factory1"/></strong>.</p><p>If the current mode is a stereo mode, the desktop duplication interface provides the image for the left stereo image only.</p><p>By default, only four processes can use a <strong>IDXGIOutputDuplication</strong> interface at the same time within a single session. A process can have only one desktop duplication interface on a single desktop output; however, that process can have a desktop duplication interface for each output that is part of the desktop. </p><p>If <strong>DuplicateOutput</strong> fails with <seecref="F:SharpDX.DXGI.ResultCode.Unsupported"/>, the application can wait for system notification of desktop switches and mode changes and then call <strong>DuplicateOutput</strong> again after such a notification occurs. For more information, see information in desktop switch (<strong>EVENT_SYSTEM_DESKTOPSWITCH</strong>) and mode change notification (<strong>WM_DISPLAYCHANGE</strong>). </p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGIOutput1::DuplicateOutput']/*"/>
<p>An <strong><seecref="T:SharpDX.DXGI.SwapChain"/></strong> interface implements one or more <strong>surfaces</strong> for storing rendered data before presenting it to an output.</p>
</summary>
<remarks>
<p>You can create a swap chain in several ways. If your application uses Direct3D, create a swap chain when you create a device by
calling <strong>D3D10CreateDeviceAndSwapChain</strong> or <strong>D3D11CreateDeviceAndSwapChain</strong>. If your application does not need Direct3D, create a swap chain for use directly with DXGI by
calling <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong>, <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong>IDXGIFactory2::CreateSwapChainForImmersiveWindow</strong>, or <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.SwapChain"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>Present</strong> anymore to present a rendered image. Instead, use <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong>.]</p><p>Presents a rendered image to the user.</p>
<returns><p>Possible return values include: <seecref="F:SharpDX.Result.Ok"/>, <seecref="F:SharpDX.DXGI.ResultCode.DeviceReset"/> or <seecref="F:SharpDX.DXGI.ResultCode.DeviceRemoved"/> (see DXGI_ERROR), <seecref="F:SharpDX.DXGI.DXGIStatus.Occluded"/> (see <seecref="T:SharpDX.DXGI.DXGIStatus"/>), or D3DDDIERR_DEVICEREMOVED. </p><p><strong>Note</strong>??The <strong>Present</strong> method can return either <seecref="F:SharpDX.DXGI.ResultCode.DeviceRemoved"/> or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.</p></returns>
<remarks>
<p>For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.</p><p>Because calling <strong>Present</strong> might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.</p><table><tr><td><p>Differences between Direct3D 9 and Direct3D 10:</p><p>Specifying <strong><seecref="F:SharpDX.DXGI.PresentFlags.Test"/></strong> in the <em>Flags</em> parameter is analogous to <strong>IDirect3DDevice9::TestCooperativeLevel</strong> in Direct3D 9.</p></td></tr></table><p>?</p><p>For flip presentation model swap chains that you create with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the <strong><seecref="F:SharpDX.DXGI.PresentFlags.DoNotSequence"/></strong> flag in the <em>Flags</em> parameter.</p>Flip presentation model queue<p>Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call <strong>Present</strong>.</p><p>A: 3, B: 0, C: 0, D: 1, E: 0</p><p>When you call <strong>Present</strong>, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::Present']/*"/>
<msdn-id>bb174576</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags)</unmanaged>
<p>Accesses one of the swap-chain's back buffers.</p>
</summary>
<paramname="buffer"><dd><p>A zero-based buffer index. </p><p>If the swap chain's swap effect is <strong><seecref="F:SharpDX.DXGI.SwapEffect.Discard"/></strong>, this method can only access the first buffer; for this situation, set the index to zero.</p><p>If the swap chain's swap effect is either <strong><seecref="F:SharpDX.DXGI.SwapEffect.Sequential"/></strong> or <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong>, this method can only access read-only buffers with indexes greater than zero. Read-only back buffers have the <strong>BufferUsage</strong> member of the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong> or <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure set to <strong><seecref="F:SharpDX.DXGI.Usage.ReadOnly"/></strong>.</p></dd></param>
<paramname="riid"><dd><p>The type of interface used to manipulate the buffer. See remarks.</p></dd></param>
<paramname="surfaceOut"><dd><p>A reference to a back-buffer interface.</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetBuffer']/*"/>
<msdn-id>bb174570</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID& riid,[Out] void** ppSurface)</unmanaged>
<p>Sets the display state to windowed or full screen.</p>
</summary>
<paramname="fullscreen"><dd><p>A Boolean value that specifies whether to set the display state to windowed or full screen. <strong>TRUE</strong> for full screen, and <strong><seecref="F:SharpDX.Result.False"/></strong> for windowed.</p></dd></param>
<paramname="targetRef"><dd><p>If you pass <strong>TRUE</strong> to the <em>Fullscreen</em> parameter to set the display state to full screen, you can optionally set this parameter to a reference to an <strong><seecref="T:SharpDX.DXGI.Output"/></strong> interface for the output target that contains the swap chain. If you set this parameter to <strong><c>null</c></strong>, DXGI will choose the output based on the swap-chain's device and the output window's placement. If you pass <strong><seecref="F:SharpDX.Result.False"/></strong> to <em>Fullscreen</em>, you must set this parameter to <strong><c>null</c></strong>.</p></dd></param>
<returns><p>This methods returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if the action succeeded and the swap chain was placed in the requested state.</li><li><seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/> if the action failed. There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance: <ul><li>The application is running over Terminal Server.</li><li>The output window is occluded.</li><li>The output window does not have keyboard focus.</li><li>Another application is already in full-screen mode.</li></ul><p>When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.</p></li><li><seecref="F:SharpDX.DXGI.DXGIStatus.ModeChangeInProgress"/> is returned if a fullscreen/windowed mode transition is occurring when this API is called.</li><li>Other error codes if you run out of memory or encounter another unexpected fault; these codes may be treated as hard, non-continuable errors.</li></ul></returns>
<remarks>
<p>DXGI may change the display state of a swap chain in response to end user or system requests.</p><p>We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through <strong>SetFullscreenState</strong>; that is, do not set the <strong>Windowed</strong> member of <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong> to <seecref="F:SharpDX.Result.False"/> to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. Also, we recommend that you have a time-out confirmation screen or other fallback mechanism when you allow the end user to change display modes.</p>Notes for Metro style apps<p>If a Metro style app calls <strong>SetFullscreenState</strong> to set the display state to full screen, <strong>SetFullscreenState</strong> fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p><p>You cannot call <strong>SetFullscreenState</strong> on a windowless swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong>.</p><p>For the flip presentation model, after you transition the display state to full screen, you must call <strong>ResizeBuffers</strong> to ensure that your call to <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> succeeds.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::SetFullscreenState']/*"/>
<p>Get the state associated with full-screen mode.</p>
</summary>
<paramname="fullscreenRef"><dd><p>A reference to a boolean whose value is either:</p><ul><li><strong>TRUE</strong> if the swap chain is in full-screen mode</li><li><strong><seecref="F:SharpDX.Result.False"/></strong> if the swap chain is in windowed mode</li></ul></dd></param>
<paramname="targetOut"><dd><p>A reference to the output target (see <strong><seecref="T:SharpDX.DXGI.Output"/></strong>) when the mode is full screen; otherwise <strong><c>null</c></strong>.</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>When the swap chain is in full-screen mode, a reference to the target output will be returned and its reference count will be incremented.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetFullscreenState']/*"/>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDesc</strong> anymore to get a description of the swap chain. Instead, use <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong>.]</p><p>Get a description of the swap chain.</p>
</summary>
<paramname="descRef">No documentation.</param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetDesc']/*"/>
<p>Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized.</p>
</summary>
<paramname="bufferCount"><dd><p>The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than <strong>DXGI_MAX_SWAP_CHAIN_BUFFERS</strong>. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify greater than two buffers for the flip presentation model.</p></dd></param>
<paramname="width"><dd><p>New width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong> method to create the swap chain for a composition surface.</p></dd></param>
<paramname="height"><dd><p>New height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong> method to create the swap chain for a composition surface.</p></dd></param>
<paramname="newFormat"><dd><p>A <strong><seecref="T:SharpDX.DXGI.Format"/></strong>-typed value for the new format of the back buffer. Set this value to <strong><seecref="F:SharpDX.DXGI.Format.Unknown"/></strong> to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model.</p></dd></param>
<paramname="swapChainFlags"><dd><p>A combination of <strong><seecref="T:SharpDX.DXGI.SwapChainFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>You can't resize a swap chain unless you release all outstanding references to its back buffers. You must release all of its direct and indirect references on the back buffers in order for <strong>ResizeBuffers</strong> to succeed.</p><p>Direct references are held by the application after it calls <strong>AddRef</strong> on a resource.</p><p>Indirect references are held by views to a resource, binding a view of the resource to a device context, a command list that used the resource, a command list that used a view to that resource, a command list that executed another command list that used the resource, and so on.</p><p>Before you call <strong>ResizeBuffers</strong>, ensure that the application releases all references (by calling the appropriate number of <strong>Release</strong> invocations) on the resources, any views to the resource, and any command lists that use either the resources or views, and ensure that neither the resource nor a view is still bound to a device context. You can use <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.ClearState"/></strong> to ensure that all references are released. If a view is bound to a deferred context, you must discard the partially built command list as well (by calling <strong>ClearState</strong>, <strong><seecref="!:SharpDX.Direct3D11.DeviceContext.FinishCommandListInternal"/></strong>, then <strong>Release</strong> on the command list). After you call <strong>ResizeBuffers</strong>, you can re-query interfaces via <strong><seecref="M:SharpDX.DXGI.SwapChain.GetBuffer(System.Int32,System.Guid,System.IntPtr@)"/></strong>.</p><p>For swap chains that you created with <strong><seecref="F:SharpDX.DXGI.SwapChainFlags.GdiCompatible"/></strong>, before you call <strong>ResizeBuffers</strong>, also call <strong><seecref="M:SharpDX.DXGI.Surface1.ReleaseDC_(System.Nullable{SharpDX.Rectangle})"/></strong> on the swap chain's back-buffer surface to ensure that you have no outstanding GDI device contexts (DCs) open.</p><p>We recommend that you call <strong>ResizeBuffers</strong> when a client window is resized (that is, when an application receives a WM_SIZE message).</p><p>The only difference between <strong>ResizeBuffers</strong> in Windows Developer Preview and <strong>ResizeBuffers</strong> in Windows?7 is with flip presentation model swap chains that you create with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set. In Windows Developer Preview, you must call <strong>ResizeBuffers</strong> to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the <strong>Present</strong> method fails.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::ResizeBuffers']/*"/>
<msdn-id>bb174577</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags)</unmanaged>
<paramname="newTargetParametersRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.ModeDescription"/></strong> structure that describes the mode, which specifies the new width, height, format, and refresh rate of the target. If the format is <strong><seecref="F:SharpDX.DXGI.Format.Unknown"/></strong>, <strong>ResizeTarget</strong> uses the existing format. We only recommend that you use <strong><seecref="F:SharpDX.DXGI.Format.Unknown"/></strong> when the swap chain is in full-screen mode as this method is not thread safe.</p></dd></param>
<returns><p>Returns a code that indicates success or failure. <seecref="F:SharpDX.DXGI.DXGIStatus.ModeChangeInProgress"/> is returned if a fullscreen/windowed mode transition is occurring when this API is called. See DXGI_ERROR for additional DXGI error codes.</p></returns>
<remarks>
<p><strong>ResizeTarget</strong> resizes the target window when the swap chain is in windowed mode, and changes the display mode on the target output when the swap chain is in full-screen mode. Therefore, applications can call <strong>ResizeTarget</strong> to resize the target window (rather than a Microsoft Win32API such as <strong>SetWindowPos</strong>) without knowledge of the swap chain display mode.</p><p>If a Metro style app calls <strong>ResizeTarget</strong>, it fails with <seecref="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable"/>.</p><p>You cannot call <strong>ResizeTarget</strong> on a windowless swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::ResizeTarget']/*"/>
<p>Get the output (the display monitor) that contains the majority of the client area of the target window.</p>
</summary>
<paramname="outputOut"><dd><p>A reference to the output interface (see <strong><seecref="T:SharpDX.DXGI.Output"/></strong>).</p></dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p><p>You cannot call <strong>GetContainingOutput</strong> on a windowless swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetContainingOutput']/*"/>
<p>Gets performance statistics about the last render frame.</p>
</summary>
<paramname="statsRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.FrameStatistics"/></strong> structure for the frame statistics.</p></dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>You cannot use <strong>GetFrameStatistics</strong> for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.</p><p>You can only use <strong>GetFrameStatistics</strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value in the <strong>SwapEffect</strong> member of the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to specify that the swap chain uses the flip presentation model.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetFrameStatistics']/*"/>
<p>Gets the number of times that <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> has been called.</p>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>For info about presentation statistics for a frame, see <strong><seecref="T:SharpDX.DXGI.FrameStatistics"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetLastPresentCount']/*"/>
If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned. If the buffer width or the buffer height are zero, the sizes will be inferred from the output window size in the swap-chain description. Since the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure the sizes match: Create a windowed swap chain and then set it full-screen using <seecref="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Bool,SharpDX.DXGI.Output)"/>. Save a reference to the swap-chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with <seecref="M:SharpDX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags)"/>) during the transition from windowed to full-screen. If the swap chain is in full-screen mode, before you release it, you must use {{SetFullscreenState}} to switch it to windowed mode. For more information about releasing a swap chain, see the Destroying a Swap Chain section of {{DXGI Overview}}.
<typeparamname="T">The interface of the surface to resolve from the back buffer</typeparam>
<paramname="index">A zero-based buffer index. If the swap effect is not DXGI_SWAP_EFFECT_SEQUENTIAL, this method only has access to the first buffer; for this case, set the index to zero.</param>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDesc</strong> anymore to get a description of the swap chain. Instead, use <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong>.]</p><p>Get a description of the swap chain.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetDesc']/*"/>
<p>Get the output (the display monitor) that contains the majority of the client area of the target window.</p>
</summary>
<remarks>
<p>If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p><p>You cannot call <strong>GetContainingOutput</strong> on a windowless swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForCompositionSurface</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetContainingOutput']/*"/>
<p>Gets performance statistics about the last render frame.</p>
</summary>
<remarks>
<p>You cannot use <strong>GetFrameStatistics</strong> for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.</p><p>You can only use <strong>GetFrameStatistics</strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value in the <strong>SwapEffect</strong> member of the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to specify that the swap chain uses the flip presentation model.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetFrameStatistics']/*"/>
<p>Gets the number of times that <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> has been called.</p>
</summary>
<remarks>
<p>For info about presentation statistics for a frame, see <strong><seecref="T:SharpDX.DXGI.FrameStatistics"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain::GetLastPresentCount']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Provides presentation capabilities that are enhanced from <strong><seecref="T:SharpDX.DXGI.SwapChain"/></strong>. These presentation capabilities consist of specifying dirty rectangles and scroll rectangle to optimize the presentation.</p>
</summary>
<remarks>
<p>You can create a swap chain by
calling <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>, or <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>. You can also create a swap chain when you call <strong>D3D11CreateDeviceAndSwapChain</strong>; however, you can then only access the sub-set of swap-chain functionality that the <strong><seecref="T:SharpDX.DXGI.SwapChain"/></strong> interface provides.</p><p><strong><seecref="T:SharpDX.DXGI.SwapChain1"/></strong> provides the <strong>IsTemporaryMonoSupported</strong> method that you can use to determine whether the swap chain supports "temporary mono? presentation. This type of swap chain is a stereo swap chain that can be used to present mono content.
</p><p><strong>Note</strong>??Some stereo features like the advanced presentation flags are not represented by an explicit interface change. Furthermore, the original (<strong><seecref="T:SharpDX.DXGI.SwapChain"/></strong>) and new (<strong><seecref="T:SharpDX.DXGI.SwapChain1"/></strong>) swap chain interfaces generally have the same behavior. For information about how <strong><seecref="T:SharpDX.DXGI.SwapChain"/></strong> methods are translated into <strong><seecref="T:SharpDX.DXGI.SwapChain1"/></strong> methods, see the descriptions of the <strong><seecref="T:SharpDX.DXGI.SwapChain1"/></strong> methods.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1']/*"/>
Performs an explicit conversion from <seecref="T:System.IntPtr"/> to <seecref="T:SharpDX.DXGI.SwapChain1"/>. (This method is a shortcut to <seecref="P:SharpDX.CppObject.NativePointer"/>)
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets a description of the swap chain.</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure that describes the swap chain.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetDesc1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p>Gets a description of a full-screen swap chain.</p>
</summary>
<paramname="descRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.SwapChainFullscreenDescription"/></strong> structure that describes the full-screen swap chain.</p></dd></param>
<returns><p><strong>GetFullscreenDesc</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully retrieved the description of the full-screen swap chain.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> for non-<strong><seecref="T:System.IntPtr"/></strong> swap chains or if <em>pDesc</em> is <strong><c>null</c></strong>.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic. </li></ul></returns>
<remarks>
<p>The semantics of <strong>GetFullscreenDesc</strong> are identical to that of the <strong>IDXGISwapchain::GetDesc</strong> method for <strong><seecref="T:System.IntPtr"/></strong>-based swap chains.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetFullscreenDesc']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Retrieves the underlying <strong><seecref="T:System.IntPtr"/></strong> for this swap-chain object.</p>
</summary>
<paramname="hwndRef">No documentation.</param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p><p>If <em>pHwnd</em> receives <strong><c>null</c></strong> (that is, the swap chain is not <strong><seecref="T:System.IntPtr"/></strong>-based), <strong>GetHwnd</strong> returns <seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/>.</p></returns>
<remarks>
<p>Applications call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong> method to create a swap chain that is associated with an <strong><seecref="T:System.IntPtr"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetHwnd']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Retrieves the underlying <strong>IWindow</strong> object for this swap-chain object.</p>
</summary>
<paramname="refiid"><dd><p>A reference to the globally unique identifier (<seecref="T:System.Guid"/>) of the <strong>IWindow</strong> object that is referenced by the <em>ppUnk</em> parameter.</p></dd></param>
<paramname="unkOut"><dd><p>A reference to a variable that receives a reference to the <strong>IWindow</strong> object.</p></dd></param>
<returns><p><strong>GetCoreWindow</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully retrieved the underlying <strong>IWindow</strong> object.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if <em>ppUnk</em> is <strong><c>null</c></strong>; that is, the swap chain is not associated with a <strong>IWindow</strong> object.</li><li>Any <strong><seecref="T:SharpDX.Result"/></strong> that a call to <strong>QueryInterface</strong> to query for an <strong>IWindow</strong> object might typically return.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic. </li></ul></returns>
<remarks>
<p>Applications call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong> method to create a swap chain that is associated with an <strong>IWindow</strong> object.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetCoreWindow']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Presents a frame on the display screen. </p>
</summary>
<paramname="syncInterval"><dd><p>An integer that specifies how to synchronize presentation of a frame with the vertical blank.</p><p>For the bit-block transfer (bitblt) model, values are:</p><ul><li>0 - The presentation occurs immediately, there is no synchronization.</li><li>1,2,3,4 - Synchronize presentation after the <em>n</em>th vertical blank.</li></ul><p>For the flip model, values are:</p><ul><li>0 - Discard this frame if you submitted a more recent presentation.</li><li>n > 0 - Synchronize presentation for at least <em>n</em> vertical blanks.</li></ul><p>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</p><p>If the update region straddles more than one output (each represented by <strong><seecref="T:SharpDX.DXGI.Output1"/></strong>), <strong>Present1</strong> performs the synchronization to the output that contains the largest subrectangle of the target window's client area.</p></dd></param>
<paramname="presentFlags"><dd><p>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</p></dd></param>
<paramname="presentParametersRef"><dd><p>A reference to a <strong><seecref="T:SharpDX.DXGI.PresentParameters"/></strong> structure that describes updated rectangles and scroll information of the frame to present.</p></dd></param>
<p>An application can use <strong>Present1</strong> to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An application must confine its modifications to only the dirty regions that it passes to <strong>Present1</strong>, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.</p><p>For flip presentation model swap chains that you create with the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the <strong><seecref="F:SharpDX.DXGI.PresentFlags.DoNotSequence"/></strong> flag in the <em>Flags</em> parameter.</p>Flip presentation model queue<p>Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call <strong>Present1</strong>.</p><p>A: 3, B: 0, C: 0, D: 1, E: 0</p><p>When you call <strong>Present1</strong>, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::Present1']/*"/>
<msdn-id>hh446797</msdn-id>
<unmanaged>HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS PresentFlags,[In] const void* pPresentParameters)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Determines whether a swap chain supports ?temporary mono.?</p>
</summary>
<returns><p>Indicates whether to use the swap chain in temporary mono mode. <strong>TRUE</strong> indicates that you can use temporary-mono mode; otherwise, <strong><seecref="F:SharpDX.Result.False"/></strong>.</p></returns>
<remarks>
<p>Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method with the <strong><seecref="F:SharpDX.DXGI.PresentFlags.StereoTemporaryMono"/></strong> flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::IsTemporaryMonoSupported']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the output (the display monitor) to which you can restrict the contents of a present operation.</p>
</summary>
<paramname="restrictToOutputOut"><dd><p> A reference to a buffer that receives a reference to the <strong><seecref="T:SharpDX.DXGI.Output"/></strong> interface for the restrict-to output. An application passes this reference to <strong><seecref="T:SharpDX.DXGI.Output"/></strong> in a call to the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>, or <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong> method to create the swap chain.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if the restrict-to output was successfully retrieved; otherwise, returns E_INVALIDARG if the reference is invalid.</p></returns>
<remarks>
<p>If the method succeeds, the runtime fills the buffer at <em>ppRestrictToOutput</em> with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetRestrictToOutput']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Changes the background color of the swap chain.</p>
</summary>
<paramname="colorRef"><dd><p>A reference to a <strong>DXGI_RGBA</strong> structure that specifies the background color to set.</p></dd></param>
<returns><p><strong>SetBackgroundColor</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully set the background color.</li><li>E_INVALIDARG if the <em>pColor</em> parameter is incorrect, for example, <em>pColor</em> is <c>null</c> or any of the floating-point values of the members of <strong>DXGI_RGBA</strong> to which <em>pColor</em> points are outside the range from 0.0 through 1.0.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>The background color affects only swap chains that you create with <strong><seecref="F:SharpDX.DXGI.Scaling.None"/></strong> in windowed mode. You pass this value in a call to <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong>, <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>, or <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong>. Typically, the background color is not visible unless the swap-chain contents are smaller than the destination window.</p><p>When you set the background color, it is not immediately realized. It takes effect in conjunction with your next call to the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method. The <strong>DXGI_PRESENT</strong> flags that you pass to <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> can help achieve the effect that you require. For example, if you call <strong>SetBackgroundColor</strong> and then call <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> with the <em>Flags</em> parameter set to <strong><seecref="F:SharpDX.DXGI.PresentFlags.DoNotSequence"/></strong>, you change only the background color without changing the displayed contents of the swap chain.</p><p>When you call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method to display contents of the swap chain, <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> uses the <strong><seecref="T:SharpDX.DXGI.AlphaMode"/></strong> value that is specified in the <strong>AlphaMode</strong> member of the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to determine how to handle the <strong>a</strong> member of the <strong>DXGI_RGBA</strong> structure, the alpha value of the background color, that achieves window transparency. For example, if <strong>AlphaMode</strong> is <strong><seecref="F:SharpDX.DXGI.AlphaMode.Ignore"/></strong>, <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> ignores the a member of <strong>DXGI_RGBA</strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::SetBackgroundColor']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Retrieves the background color of the swap chain.</p>
</summary>
<paramname="colorRef"><dd><p>A reference to a <strong>DXGI_RGBA</strong> structure that receives the background color of the swap chain.</p></dd></param>
<returns><p><strong>GetBackgroundColor</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully retrieves the background color.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if the <em>pColor</em> parameter is invalid, for example, <em>pColor</em> is <c>null</c>.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p><strong>Note</strong>??The background color that <strong>GetBackgroundColor</strong> retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method. The default value of the background color is black with full opacity: 0,0,0,1.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetBackgroundColor']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Sets the rotation of the back buffers for the swap chain.</p>
</summary>
<paramname="rotation"><dd><p>A <strong><seecref="T:SharpDX.DXGI.DisplayModeRotation"/></strong>-typed value that specifies how to set the rotation of the back buffers for the swap chain.</p></dd></param>
<returns><p><strong>SetRotation</strong> returns: </p><ul><li><seecref="F:SharpDX.Result.Ok"/> if it successfully set the rotation.</li><li><seecref="F:SharpDX.DXGI.ResultCode.InvalidCall"/> if the swap chain is bit-block transfer (bitblt) model. The swap chain must be flip model to successfully call <strong>SetRotation</strong>.</li><li>Possibly other error codes that are described in the DXGI_ERROR topic.</li></ul></returns>
<remarks>
<p>You can only use <strong>SetRotation</strong> to rotate the back buffers for flip-model swap chains that you present in windowed mode. </p><p><strong>SetRotation</strong> isn't supported for rotating the back buffers for flip-model swap chains that you present in full-screen mode. In this situation, <strong>SetRotation</strong> doesn't fail, but you must ensure that you specify no rotation (<strong><seecref="F:SharpDX.DXGI.DisplayModeRotation.Identity"/></strong>) for the swap chain. Otherwise, when you call <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> to present a frame, the presentation fails.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::SetRotation']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the rotation of the back buffers for the swap chain.</p>
</summary>
<paramname="rotationRef"><dd><p>A reference to a variable that receives a <strong><seecref="T:SharpDX.DXGI.DisplayModeRotation"/></strong>-typed value that specifies the rotation of the back buffers for the swap chain.</p></dd></param>
<returns><p>Returns <seecref="F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetRotation']/*"/>
[This documentation is preliminary and is subject to change.]
</summary>
<paramname="syncInterval"><para>An integer that specifies how to synchronize presentation of a frame with the vertical blank.</para><para>For the bit-block transfer (bitblt) model, values are:</para> 0 - The presentation occurs immediately, there is no synchronization. 1,2,3,4 - Synchronize presentation after the nth vertical blank. <para>For the flip model, values are:</para> 0 - Discard this frame if you submitted a more recent presentation. n > 0 - Synchronize presentation for at least n vertical blanks. <para>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</para><para>If the update region straddles more than one output (each represented by <seecref="T:SharpDX.DXGI.Output1"/>), Present1 performs the synchronization to the output that contains the largest subrectangle of the target window's client area.</para></param>
<paramname="presentFlags"><para>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</para></param>
<paramname="presentParametersRef"><para>A reference to a <seecref="T:SharpDX.DXGI.PresentParameters"/> structure that describes updated rectangles and scroll information of the frame to present.</para></param>
An application can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An application must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.For flip presentation model swap chains that you create with the <seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/> value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the <seecref="F:SharpDX.DXGI.PresentFlags.DoNotSequence"/> flag in the Flags parameter.Flip presentation model queueSuppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present1.A: 3, B: 0, C: 0, D: 1, E: 0When you call Present1, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.
</remarks>
<!-- Failed to insert some or all of included XML --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::Present1']/*"/>
<unmanaged>HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] unsigned int PresentFlags,[In] const void* pPresentParameters)</unmanaged>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets a description of the swap chain.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetDesc1']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p>Gets a description of a full-screen swap chain.</p>
</summary>
<remarks>
<p>The semantics of <strong>GetFullscreenDesc</strong> are identical to that of the <strong>IDXGISwapchain::GetDesc</strong> method for <strong><seecref="T:System.IntPtr"/></strong>-based swap chains.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetFullscreenDesc']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps only</p><p>Retrieves the underlying <strong><seecref="T:System.IntPtr"/></strong> for this swap-chain object.</p>
</summary>
<remarks>
<p>Applications call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong> method to create a swap chain that is associated with an <strong><seecref="T:System.IntPtr"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetHwnd']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Determines whether a swap chain supports ?temporary mono.?</p>
</summary>
<remarks>
<p>Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method with the <strong><seecref="F:SharpDX.DXGI.PresentFlags.StereoTemporaryMono"/></strong> flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::IsTemporaryMonoSupported']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the output (the display monitor) to which you can restrict the contents of a present operation.</p>
</summary>
<remarks>
<p>If the method succeeds, the runtime fills the buffer at <em>ppRestrictToOutput</em> with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetRestrictToOutput']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Retrieves the background color of the swap chain.</p>
</summary>
<remarks>
<p><strong>Note</strong>??The background color that <strong>GetBackgroundColor</strong> retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong> method. The default value of the background color is black with full opacity: 0,0,0,1.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetBackgroundColor']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the rotation of the back buffers for the swap chain.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='IDXGISwapChain1::GetRotation']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Describes an adapter (or video card) that uses Microsoft DirectX Graphics Infrastructure (DXGI) 1.2.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.AdapterDesc2"/></strong> structure provides a DXGI 1.2 description of an adapter. This structure is initialized by using the <strong><seecref="M:SharpDX.DXGI.Adapter2.GetDesc2(SharpDX.DXGI.AdapterDesc2@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2']/*"/>
<dd><p>A string that contains the adapter description.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::Description']/*"/>
<dd><p>The PCI ID of the hardware vendor.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::VendorId']/*"/>
<msdn-id>hh404493</msdn-id>
<unmanaged>unsigned int VendorId</unmanaged>
<unmanaged-short>unsigned int VendorId</unmanaged-short>
<dd><p>The PCI ID of the hardware device.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::DeviceId']/*"/>
<msdn-id>hh404493</msdn-id>
<unmanaged>unsigned int DeviceId</unmanaged>
<unmanaged-short>unsigned int DeviceId</unmanaged-short>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::SubSysId']/*"/>
<msdn-id>hh404493</msdn-id>
<unmanaged>unsigned int SubSysId</unmanaged>
<unmanaged-short>unsigned int SubSysId</unmanaged-short>
<dd><p>The PCI ID of the revision number of the adapter.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::Revision']/*"/>
<msdn-id>hh404493</msdn-id>
<unmanaged>unsigned int Revision</unmanaged>
<unmanaged-short>unsigned int Revision</unmanaged-short>
<dd><p>The number of bytes of dedicated video memory that are not shared with the CPU.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::DedicatedVideoMemory']/*"/>
<dd><p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::DedicatedSystemMemory']/*"/>
<dd><p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::SharedSystemMemory']/*"/>
<dd><p>A unique value that identifies the adapter. See <strong><seecref="T:System.Int64"/></strong> for a definition of the structure. <strong><seecref="T:System.Int64"/></strong> is defined in dxgi.h.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::AdapterLuid']/*"/>
<dd><p>A value of the <strong><seecref="T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type that describes the adapter type. The <strong><seecref="F:SharpDX.DXGI.AdapterFlags.Remote"/></strong> flag is reserved.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::Flags']/*"/>
<msdn-id>hh404493</msdn-id>
<unmanaged>unsigned int Flags</unmanaged>
<unmanaged-short>unsigned int Flags</unmanaged-short>
<dd><p>A value of the <strong><seecref="T:SharpDX.DXGI.GraphicsPreemptionGranularity"/></strong> enumerated type that describes the granularity level at which the GPU can be preempted from performing its current graphics rendering task.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::GraphicsPreemptionGranularity']/*"/>
<dd><p>A value of the <strong><seecref="T:SharpDX.DXGI.ComputePreemptionGranularity"/></strong> enumerated type that describes the granularity level at which the GPU can be preempted from performing its current compute task.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC2::ComputePreemptionGranularity']/*"/>
<p>Describes an adapter (or video card) by using DXGI 1.0.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.AdapterDescription"/></strong> structure provides a description of an adapter. This structure is initialized by using the <strong><seecref="M:SharpDX.DXGI.Adapter.GetDescription(SharpDX.DXGI.AdapterDescription@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC']/*"/>
<dd><p>A string that contains the adapter description.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::Description']/*"/>
<dd><p>The PCI ID of the hardware vendor.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::VendorId']/*"/>
<msdn-id>bb173058</msdn-id>
<unmanaged>unsigned int VendorId</unmanaged>
<unmanaged-short>unsigned int VendorId</unmanaged-short>
<dd><p>The PCI ID of the hardware device.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::DeviceId']/*"/>
<msdn-id>bb173058</msdn-id>
<unmanaged>unsigned int DeviceId</unmanaged>
<unmanaged-short>unsigned int DeviceId</unmanaged-short>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::SubSysId']/*"/>
<msdn-id>bb173058</msdn-id>
<unmanaged>unsigned int SubSysId</unmanaged>
<unmanaged-short>unsigned int SubSysId</unmanaged-short>
<dd><p>The PCI ID of the revision number of the adapter.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::Revision']/*"/>
<msdn-id>bb173058</msdn-id>
<unmanaged>unsigned int Revision</unmanaged>
<unmanaged-short>unsigned int Revision</unmanaged-short>
<dd><p>The number of bytes of dedicated video memory that are not shared with the CPU.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::DedicatedVideoMemory']/*"/>
<dd><p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::DedicatedSystemMemory']/*"/>
<dd><p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::SharedSystemMemory']/*"/>
<dd><p>A unique value that identifies the adapter. See <strong><seecref="T:System.Int64"/></strong> for a definition of the structure. <strong><seecref="T:System.Int64"/></strong> is defined in dxgi.h.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC::AdapterLuid']/*"/>
<p>Describes an adapter (or video card) using DXGI 1.1.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.AdapterDescription1"/></strong> structure provides a DXGI 1.1 description of an adapter. This structure is initialized by using the <strong><seecref="M:SharpDX.DXGI.Adapter1.GetDescription1(SharpDX.DXGI.AdapterDescription1@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1']/*"/>
<dd><p>A string that contains the adapter description.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::Description']/*"/>
<dd><p>The PCI ID of the hardware vendor.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::VendorId']/*"/>
<msdn-id>ff471326</msdn-id>
<unmanaged>unsigned int VendorId</unmanaged>
<unmanaged-short>unsigned int VendorId</unmanaged-short>
<dd><p>The PCI ID of the hardware device.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::DeviceId']/*"/>
<msdn-id>ff471326</msdn-id>
<unmanaged>unsigned int DeviceId</unmanaged>
<unmanaged-short>unsigned int DeviceId</unmanaged-short>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::SubSysId']/*"/>
<msdn-id>ff471326</msdn-id>
<unmanaged>unsigned int SubSysId</unmanaged>
<unmanaged-short>unsigned int SubSysId</unmanaged-short>
<dd><p>The PCI ID of the revision number of the adapter.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::Revision']/*"/>
<msdn-id>ff471326</msdn-id>
<unmanaged>unsigned int Revision</unmanaged>
<unmanaged-short>unsigned int Revision</unmanaged-short>
<dd><p>The number of bytes of dedicated video memory that are not shared with the CPU.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::DedicatedVideoMemory']/*"/>
<dd><p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::DedicatedSystemMemory']/*"/>
<dd><p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::SharedSystemMemory']/*"/>
<dd><p>A unique value that identifies the adapter. See <strong><seecref="T:System.Int64"/></strong> for a definition of the structure. <strong><seecref="T:System.Int64"/></strong> is defined in dxgi.h.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::AdapterLuid']/*"/>
<dd><p>A value of the <strong><seecref="T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type that describes the adapter type. The <strong><seecref="F:SharpDX.DXGI.AdapterFlags.Remote"/></strong> flag is reserved.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_ADAPTER_DESC1::Flags']/*"/>
<p>Describes timing and presentation statistics for a frame.</p>
</summary>
<remarks>
<p>You initialize the <strong><seecref="T:SharpDX.DXGI.FrameStatistics"/></strong> structure with the <strong><seecref="M:SharpDX.DXGI.Output.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong> method.</p><p>You can only use <strong><seecref="M:SharpDX.DXGI.SwapChain.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)"/></strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value in the <strong>SwapEffect</strong> member of the <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to specify that the swap chain uses the flip presentation model.</p><p>The values in the <strong>PresentCount</strong> and <strong>PresentRefreshCount</strong> members indicate information about when a frame was presented on the display screen. You can use these values to determine whether a glitch occurred. The values in the <strong>SyncRefreshCount</strong> and <strong>SyncQPCTime</strong> members indicate timing information that you can use for audio and video synchronization or very precise animation. If the swap chain draws in full-screen mode, these values are based on when the computer booted.
If the swap chain draws in windowed mode, these values are based on when the swap chain is created.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS']/*"/>
<dd><p>A value that represents the running total count of times that an image was presented to the monitor since the computer booted.</p><p><strong>Note</strong>??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called <strong><seecref="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)"/></strong> or <strong><seecref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)"/></strong>.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS::PresentCount']/*"/>
<msdn-id>bb173060</msdn-id>
<unmanaged>unsigned int PresentCount</unmanaged>
<unmanaged-short>unsigned int PresentCount</unmanaged-short>
<dd><p>A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS::PresentRefreshCount']/*"/>
<msdn-id>bb173060</msdn-id>
<unmanaged>unsigned int PresentRefreshCount</unmanaged>
<unmanaged-short>unsigned int PresentRefreshCount</unmanaged-short>
<dd><p>A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling <strong>QueryPerformanceCounter</strong> and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS::SyncRefreshCount']/*"/>
<msdn-id>bb173060</msdn-id>
<unmanaged>unsigned int SyncRefreshCount</unmanaged>
<unmanaged-short>unsigned int SyncRefreshCount</unmanaged-short>
<dd><p>A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the <strong>QueryPerformanceCounter</strong> function.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS::SyncQPCTime']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_FRAME_STATISTICS::SyncGPUTime']/*"/>
<p>The <strong><seecref="T:SharpDX.DXGI.GammaControl"/></strong> structure is used by the <strong><seecref="M:SharpDX.DXGI.Output.SetGammaControl(SharpDX.DXGI.GammaControl@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.Color4"/></strong> structure with scalar values that are applied to rgb values before being sent to the gamma look up table.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL::Scale']/*"/>
<msdn-id>bb173061</msdn-id>
<unmanaged>DXGI_RGB Scale</unmanaged>
<unmanaged-short>DXGI_RGB Scale</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.GammaControl.Offset">
<summary>
<dd><p>A <strong><seecref="T:SharpDX.Color4"/></strong> structure with offset values that are applied to the rgb values before being sent to the gamma look up table.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL::Offset']/*"/>
<dd><p>An array of <strong><seecref="T:SharpDX.Color4"/></strong> structures that control the points of a gamma curve.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL::GammaCurve']/*"/>
<p>Controls the gamma capabilities of an adapter.</p>
</summary>
<remarks>
<p>To get a list of the capabilities for controlling gamma correction, call <strong><seecref="M:SharpDX.DXGI.Output.GetGammaControlCapabilities(SharpDX.DXGI.GammaControlCapabilities@)"/></strong>.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES']/*"/>
<dd><p>True if scaling and offset operations are supported during gamma correction; otherwise, false.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES::ScaleAndOffsetSupported']/*"/>
<dd><p>A value describing the maximum range of the control-point positions.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES::MaxConvertedValue']/*"/>
<dd><p>A value describing the minimum range of the control-point positions.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES::MinConvertedValue']/*"/>
<dd><p>A value describing the number of control points in the array.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES::NumGammaControlPoints']/*"/>
<msdn-id>bb173062</msdn-id>
<unmanaged>unsigned int NumGammaControlPoints</unmanaged>
<unmanaged-short>unsigned int NumGammaControlPoints</unmanaged-short>
<dd><p>An array of values describing control points; the maximum length of control points is 1025.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_GAMMA_CONTROL_CAPABILITIES::ControlPointPositions']/*"/>
<p>Describes a mapped rectangle that is used to access a surface.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.MappedRect"/></strong> structure is initialized by the <strong><seecref="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MappedRect@,System.Int32)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAPPED_RECT']/*"/>
<dd><p>A value that describes the width, in bytes, of the surface.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAPPED_RECT::Pitch']/*"/>
<msdn-id>bb173063</msdn-id>
<unmanaged>int Pitch</unmanaged>
<unmanaged-short>int Pitch</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.MappedRect.PBits">
<summary>
<dd><p>A reference to the image buffer of the surface.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MAPPED_RECT::pBits']/*"/>
<p>The following format values are valid for display modes and when you create a bit-block transfer (bitblt) model swap chain. The valid values depend on the feature level that you are working with.</p><ul><li><p>Feature level >= 9.1</p><ul><li><strong><seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/></strong></li><li><strong><seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm_SRgb"/></strong></li><li><strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm"/></strong> (except 10.x on Windows?Vista)</li><li><strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm_SRgb"/></strong> (except 10.x on Windows?Vista)</li></ul></li><li><p>Feature level >= 10.0</p><ul><li><strong><seecref="F:SharpDX.DXGI.Format.R16G16B16A16_Float"/></strong></li><li><strong><seecref="F:SharpDX.DXGI.Format.R10G10B10A2_UNorm"/></strong></li></ul></li><li><p>Feature level >= 11.0</p><ul><li><strong><seecref="F:SharpDX.DXGI.Format.R10G10B10_Xr_Bias_A2_UNorm"/></strong></li></ul></li></ul><p>You can pass one of these format values to <strong><seecref="!:SharpDX.Direct3D11.Device.CheckFormatSupport"/></strong> to determine if it is a valid format for displaying on screen. If <strong><seecref="!:SharpDX.Direct3D11.Device.CheckFormatSupport"/></strong> returns <strong><seecref="!:SharpDX.Direct3D11.FormatSupport.Display"/></strong> in the bit field to which the <em>pFormatSupport</em> parameter points, the format is valid for displaying on screen.</p><p>Starting with Windows Developer Preview for a flip model swap chain (that is, a swap chain that has the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set in the <strong>SwapEffect</strong> member of <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong>), you must set the <strong>Format</strong> member of <strong><seecref="T:SharpDX.DXGI.ModeDescription"/></strong> to <strong><seecref="F:SharpDX.DXGI.Format.R16G16B16A16_Float"/></strong>, <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm"/></strong>, or <strong><seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/></strong>.</p><p>Because of the relaxed render target creation rules that Direct3D 11 has for back buffers, applications can create a <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm_SRgb"/></strong> render target view from a <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm"/></strong> swap chain so they can use automatic color space conversion when they render the swap chain.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC']/*"/>
<dd><p>A value that describes the resolution width. If you specify the width as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong> method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain.GetDescription(SharpDX.DXGI.SwapChainDescription@)"/></strong> method to retrieve the assigned width value.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::Width']/*"/>
<msdn-id>bb173064</msdn-id>
<unmanaged>unsigned int Width</unmanaged>
<unmanaged-short>unsigned int Width</unmanaged-short>
<dd><p>A value describing the resolution height. If you specify the height as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong> method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain.GetDescription(SharpDX.DXGI.SwapChainDescription@)"/></strong> method to retrieve the assigned height value.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::Height']/*"/>
<msdn-id>bb173064</msdn-id>
<unmanaged>unsigned int Height</unmanaged>
<unmanaged-short>unsigned int Height</unmanaged-short>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Rational"/></strong> structure describing the refresh rate in hertz</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::RefreshRate']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Format"/></strong> structure describing the display format.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::Format']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong> enumerated type describing the scanline drawing mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::ScanlineOrdering']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.DisplayModeScaling"/></strong> enumerated type describing the scaling mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC::Scaling']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Describes a display mode and whether the display mode supports stereo.</p>
</summary>
<remarks>
<p><strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> is identical to <strong><seecref="T:SharpDX.DXGI.ModeDescription"/></strong> except that <strong><seecref="T:SharpDX.DXGI.ModeDescription1"/></strong> includes the <strong>Stereo</strong> member.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1']/*"/>
<dd><p>A value that describes the resolution width.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::Width']/*"/>
<msdn-id>hh404507</msdn-id>
<unmanaged>unsigned int Width</unmanaged>
<unmanaged-short>unsigned int Width</unmanaged-short>
<dd><p>A value that describes the resolution height.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::Height']/*"/>
<msdn-id>hh404507</msdn-id>
<unmanaged>unsigned int Height</unmanaged>
<unmanaged-short>unsigned int Height</unmanaged-short>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Rational"/></strong> structure that describes the refresh rate in hertz.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::RefreshRate']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Format"/></strong>-typed value that describes the display format.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::Format']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong>-typed value that describes the scan-line drawing mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::ScanlineOrdering']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.DisplayModeScaling"/></strong>-typed value that describes the scaling mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::Scaling']/*"/>
<dd><p>Specifies whether the full-screen display mode is stereo. <strong>TRUE</strong> if stereo; otherwise, <strong><seecref="F:SharpDX.Result.False"/></strong>. </p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_MODE_DESC1::Stereo']/*"/>
<msdn-id>hh404507</msdn-id>
<unmanaged>BOOL Stereo</unmanaged>
<unmanaged-short>BOOL Stereo</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.OutputDescription">
<summary>
<p>Describes an output or physical connection between the adapter (video card) and a device.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.OutputDescription"/></strong> structure is initialized by the <strong><seecref="M:SharpDX.DXGI.Output.GetDescription(SharpDX.DXGI.OutputDescription@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC']/*"/>
<dd><p>A string that contains the name of the output device.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC::DeviceName']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.Rectangle"/></strong> structure containing the bounds of the output in desktop coordinates.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC::DesktopCoordinates']/*"/>
<dd><p>True if the output is attached to the desktop; otherwise, false.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC::AttachedToDesktop']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.DisplayModeRotation"/></strong> enumerated type describing on how an image is rotated by the output.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC::Rotation']/*"/>
<dd><p>An <strong><seecref="T:System.IntPtr"/></strong> handle that represents the display monitor. For more information, see <seecref="T:System.IntPtr"/> and the Device Context.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_OUTPUT_DESC::Monitor']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Describes information about present that helps the operating system optimize presentation.</p>
</summary>
<remarks>
<p>The scroll rectangle and the list of dirty rectangles could overlap. In this situation, the dirty rectangles take priority. Applications can then have pieces of dynamic content on top of a scrolled area. For example, an application could scroll a page and play video at the same time.</p><p>The following diagram and coordinates illustrate this example.</p><code> DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }
</code><p>Parts of the previous frame and content that the application renders are combined to produce the final frame that the operating system presents on the display screen. Most of the window is scrolled from the previous frame. The application must update the video frame with the new chunk of content that appears due to scrolling.</p><p>The dashed rectangle shows the scroll rectangle in the current frame. The scroll rectangle is specified by the <strong>pScrollRect</strong> member.
The arrow shows the scroll offset. The scroll offset is specified by the <strong>pScrollOffset</strong> member.
Filled rectangles show dirty rectangles that the application updated with new content. The filled rectangles are specified by the <strong>DirtyRectsCount</strong> and <strong>pDirtyRects</strong> members.</p><p>The scroll rectangle and offset are not supported for the <strong><seecref="F:SharpDX.DXGI.SwapEffect.Discard"/></strong> or <strong><seecref="F:SharpDX.DXGI.SwapEffect.Sequential"/></strong> present option. Dirty rectangles and scroll rectangle are not supported for multisampled swap chains.</p><p>The actual implementation of composition and necessary bitblts is different for the bitblt model and the flip model. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_PARAMETERS']/*"/>
<dd><p>The number of updated rectangles that you update in the back buffer for the presented frame. The operating system uses this information to optimize presentation. You can set this member to 0 to indicate that you update the whole frame.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_PARAMETERS::DirtyRectsCount']/*"/>
<msdn-id>hh404522</msdn-id>
<unmanaged>unsigned int DirtyRectsCount</unmanaged>
<unmanaged-short>unsigned int DirtyRectsCount</unmanaged-short>
<dd><p>A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to <strong><c>null</c></strong> if <strong>DirtyRectsCount</strong> is 0. An application must not update any pixel outside of the dirty rectangles.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_PARAMETERS::pDirtyRects']/*"/>
<dd><p> A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios.</p><p>The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to <strong><c>null</c></strong> to indicate that no content is scrolled from the previous frame.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_PARAMETERS::pScrollRect']/*"/>
<dd><p>A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to <strong><c>null</c></strong> to indicate no offset.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_PRESENT_PARAMETERS::pScrollOffset']/*"/>
<para>A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to <c>null</c> if DirtyRectsCount is 0. An application must not update any pixel outside of the dirty rectangles.</para>
<para> A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios.</para>
<para>The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to <c>null</c> to indicate that no content is scrolled from the previous frame.</para>
<para>A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to <c>null</c> to indicate no offset.</para>
</summary>
<unmanaged>POINT* pScrollOffset</unmanaged>
</member>
<membername="T:SharpDX.DXGI.Rational">
<summary>
<p>Represents a rational number.</p>
</summary>
<remarks>
<p>The <strong><seecref="T:SharpDX.DXGI.Rational"/></strong> structure operates under the following rules:</p><ul><li>0/0 is legal and will be interpreted as 0/1.</li><li>0/anything is interpreted as zero.</li><li>If you are representing a whole number, the denominator should be 1.</li></ul>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RATIONAL']/*"/>
<msdn-id>bb173069</msdn-id>
<unmanaged>DXGI_RATIONAL</unmanaged>
<unmanaged-short>DXGI_RATIONAL</unmanaged-short>
</member>
<membername="F:SharpDX.DXGI.Rational.Numerator">
<summary>
<dd><p>An unsigned integer value representing the top of the rational number.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RATIONAL::Numerator']/*"/>
<msdn-id>bb173069</msdn-id>
<unmanaged>unsigned int Numerator</unmanaged>
<unmanaged-short>unsigned int Numerator</unmanaged-short>
<dd><p>An unsigned integer value representing the bottom of the rational number.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_RATIONAL::Denominator']/*"/>
<msdn-id>bb173069</msdn-id>
<unmanaged>unsigned int Denominator</unmanaged>
<unmanaged-short>unsigned int Denominator</unmanaged-short>
Initializes a new instance of the <seecref ="T:SharpDX.DXGI.Rational"/> structure.
</summary>
<paramname ="numerator">The numerator of the rational pair.</param>
<paramname ="denominator">The denominator of the rational pair.</param>
</member>
<membername="T:SharpDX.DXGI.SampleDescription">
<summary>
<p>Describes multi-sampling parameters for a resource.</p>
</summary>
<remarks>
<p>The default sampler mode, with no anti-aliasing, has a count of 1 and a quality level of 0.</p><p>If multi-sample antialiasing is being used, all bound render targets and depth buffers must have the same sample counts and quality levels.</p><table><tr><td><p>Differences between Direct3D 10.0 and Direct3D 10.1 and between Direct3D 10.0 and Direct3D 11:</p><p>Direct3D 10.1 has defined two standard quality levels: <strong>D3D10_STANDARD_MULTISAMPLE_PATTERN</strong> and <strong>D3D10_CENTER_MULTISAMPLE_PATTERN</strong> in the <strong>D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS</strong> enumeration in D3D10_1.h.</p><p>Direct3D 11 has defined two standard quality levels: <strong><seecref="!:SharpDX.Direct3D11.StandardMultisampleQualityLevels.StandardMultisamplePattern"/></strong> and <strong><seecref="!:SharpDX.Direct3D11.StandardMultisampleQualityLevels.CenterMultisamplePattern"/></strong> in the <strong><seecref="!:SharpDX.Direct3D11.StandardMultisampleQualityLevels"/></strong> enumeration in D3D11.h.</p></td></tr></table><p>?</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SAMPLE_DESC']/*"/>
<dd><p>The number of multisamples per pixel.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SAMPLE_DESC::Count']/*"/>
<msdn-id>bb173072</msdn-id>
<unmanaged>unsigned int Count</unmanaged>
<unmanaged-short>unsigned int Count</unmanaged-short>
<dd><p>The image quality level. The higher the quality, the lower the performance. The valid range is between zero and one less than the level returned by <strong>ID3D10Device::CheckMultisampleQualityLevels</strong> for Direct3D 10 or <strong><seecref="!:SharpDX.Direct3D11.Device.CheckMultisampleQualityLevels"/></strong> for Direct3D 11.</p><p>For Direct3D 10.1 and Direct3D 11, you can use two special quality level values. For more information about these quality level values, see Remarks.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SAMPLE_DESC::Quality']/*"/>
<msdn-id>bb173072</msdn-id>
<unmanaged>unsigned int Quality</unmanaged>
<unmanaged-short>unsigned int Quality</unmanaged-short>
Initializes a new instance of the <seecref ="T:SharpDX.DXGI.SampleDescription"/> structure.
</summary>
<paramname ="count">The sample count.</param>
<paramname ="quality">The sample quality.</param>
</member>
<membername="T:SharpDX.DXGI.SharedResource">
<summary>
<p>Represents a handle to a shared resource.</p>
</summary>
<remarks>
<p>To create a shared surface, pass a shared-resource handle into the <strong><seecref="M:SharpDX.DXGI.Device.CreateSurface(SharpDX.DXGI.SurfaceDescription@,System.Int32,System.Int32,System.Nullable{SharpDX.DXGI.SharedResource},SharpDX.DXGI.Surface@)"/></strong> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SHARED_RESOURCE']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SHARED_RESOURCE::Handle']/*"/>
<msdn-id>bb173073</msdn-id>
<unmanaged>void* Handle</unmanaged>
<unmanaged-short>void Handle</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.SurfaceDescription">
<summary>
<p>Describes a surface.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SURFACE_DESC']/*"/>
<dd><p>A value describing the surface width.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SURFACE_DESC::Width']/*"/>
<msdn-id>bb173074</msdn-id>
<unmanaged>unsigned int Width</unmanaged>
<unmanaged-short>unsigned int Width</unmanaged-short>
<dd><p>A value describing the surface height.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SURFACE_DESC::Height']/*"/>
<msdn-id>bb173074</msdn-id>
<unmanaged>unsigned int Height</unmanaged>
<unmanaged-short>unsigned int Height</unmanaged-short>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.Format"/></strong> enumerated type that describes the surface format.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SURFACE_DESC::Format']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters for the surface.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SURFACE_DESC::SampleDesc']/*"/>
<p>In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.</p><p>If you create a swap chain with one buffer, specifying <strong><seecref="F:SharpDX.DXGI.SwapEffect.Sequential"/></strong> does not cause the contents of the single buffer to be swapped with the front buffer.</p><p>For performance information about flipping swap-chain buffers in full-screen application, see Full-Screen Application Performance Hints.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.ModeDescription"/></strong> structure that describes the backbuffer display mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::BufferDesc']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::SampleDesc']/*"/>
<dd><p>A member of the DXGI_USAGE enumerated type that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::BufferUsage']/*"/>
<dd><p>A value that describes the number of buffers in the swap chain. When you call <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong> to create a full-screen swap chain, you typically include the front buffer in this value. For more information about swap-chain buffers, see Remarks.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::BufferCount']/*"/>
<msdn-id>bb173075</msdn-id>
<unmanaged>unsigned int BufferCount</unmanaged>
<unmanaged-short>unsigned int BufferCount</unmanaged-short>
<dd><p>An <strong><seecref="T:System.IntPtr"/></strong> handle to the output window. This member must not be <strong><c>null</c></strong>.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::OutputWindow']/*"/>
<dd><p>A Boolean value that specifies whether the output is in windowed mode. <strong>TRUE</strong> if the output is in windowed mode; otherwise, <strong><seecref="F:SharpDX.Result.False"/></strong>. </p><p>We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through <strong><seecref="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Bool,SharpDX.DXGI.Output)"/></strong>; that is, do not set this member to <seecref="F:SharpDX.Result.False"/> to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes through the <strong>BufferDesc</strong> member because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. </p><p>For more information about choosing windowed verses full screen, see <strong><seecref="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)"/></strong>.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::Windowed']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.SwapEffect"/></strong> enumerated type that describes options for handling the contents of the presentation buffer after presenting a surface.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::SwapEffect']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.SwapChainFlags"/></strong> enumerated type that describes options for swap-chain behavior.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC::Flags']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Describes a swap chain.</p>
</summary>
<remarks>
<p><strong>Note</strong>??You cannot cast a <strong><seecref="T:SharpDX.DXGI.SwapChainDescription1"/></strong> to a <strong><seecref="T:SharpDX.DXGI.SwapChainDescription"/></strong> and vice versa. An application must explicitly use the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the newer version of the swap-chain description structure.</p><p>In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer. </p><p>For a flip-model swap chain (that is, a swap chain that has the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set in the <strong>SwapEffect</strong> member), you must set the <strong>Format</strong> member to <strong><seecref="F:SharpDX.DXGI.Format.R16G16B16A16_Float"/></strong>, <strong><seecref="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm"/></strong>, or <strong><seecref="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm"/></strong>; you must set the <strong>Count</strong> member of the <strong><seecref="T:SharpDX.DXGI.SampleDescription"/></strong> structure that the <strong>SampleDesc</strong> member specifies to one and the <strong>Quality</strong> member of <strong><seecref="T:SharpDX.DXGI.SampleDescription"/></strong> to zero because multiple sample antialiasing (MSAA) is not supported; you must set the <strong>BufferCount</strong> member to from two to sixteen. For more info about flip-model swap chain, see DXGI Flip Model.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1']/*"/>
<dd><p>A value that describes the resolution width. If you specify the width as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong> method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the assigned width value. You cannot specify the width as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong> method.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Width']/*"/>
<msdn-id>hh404528</msdn-id>
<unmanaged>unsigned int Width</unmanaged>
<unmanaged-short>unsigned int Width</unmanaged-short>
<dd><p>A value that describes the resolution height. If you specify the height as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullscreenDescription},SharpDX.DXGI.Output)"/></strong> method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the <strong><seecref="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)"/></strong> method to retrieve the assigned height value. You cannot specify the height as zero when you call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong> method.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Height']/*"/>
<msdn-id>hh404528</msdn-id>
<unmanaged>unsigned int Height</unmanaged>
<unmanaged-short>unsigned int Height</unmanaged-short>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Format"/></strong> structure that describes the display format.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Format']/*"/>
<dd><p>Specifies whether the full-screen display mode or the swap-chain back buffer is stereo. <strong>TRUE</strong> if stereo; otherwise, <strong><seecref="F:SharpDX.Result.False"/></strong>. If you specify stereo, you must also specify a flip-model swap chain (that is, a swap chain that has the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value set in the <strong>SwapEffect</strong> member).</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Stereo']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters. This member is valid only with bit-block transfer (bitblt) model swap chains.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::SampleDesc']/*"/>
<dd><p>A <strong>DXGI_USAGE</strong>-typed value that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::BufferUsage']/*"/>
<dd><p>A value that describes the number of buffers in the swap chain. When you create a full-screen swap chain, you typically include the front buffer in this value.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::BufferCount']/*"/>
<msdn-id>hh404528</msdn-id>
<unmanaged>unsigned int BufferCount</unmanaged>
<unmanaged-short>unsigned int BufferCount</unmanaged-short>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Scaling"/></strong>-typed value that identifies resize behavior if the size of the back buffer is not equal to the target output. </p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Scaling']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.SwapEffect"/></strong>-typed value that describes the presentation model that is used by the swap chain and options for handling the contents of the presentation buffer after presenting a surface. You must specify the <strong><seecref="F:SharpDX.DXGI.SwapEffect.FlipSequential"/></strong> value when you call the <strong><seecref="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)"/></strong> method because this method supports only flip presentation model.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::SwapEffect']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.AlphaMode"/></strong>-typed value that identifies the transparency behavior of the swap-chain back buffer.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::AlphaMode']/*"/>
<dd><p>A combination of <strong><seecref="T:SharpDX.DXGI.SwapChainFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_DESC1::Flags']/*"/>
<p>[This documentation is preliminary and is subject to change.]</p><p>Describes full-screen mode for a swap chain.</p>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FULLSCREEN_DESC']/*"/>
<dd><p>A <strong><seecref="T:SharpDX.DXGI.Rational"/></strong> structure that describes the refresh rate in hertz.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FULLSCREEN_DESC::RefreshRate']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong> enumerated type that describes the scan-line drawing mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FULLSCREEN_DESC::ScanlineOrdering']/*"/>
<dd><p>A member of the <strong><seecref="T:SharpDX.DXGI.DisplayModeScaling"/></strong> enumerated type that describes the scaling mode.</p></dd>
</summary>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FULLSCREEN_DESC::Scaling']/*"/>
<!-- No matching elements were found for the following include tag --><includefile=".\..\Documentation\CodeComments.xml"path="/comments/comment[@id='DXGI_SWAP_CHAIN_FULLSCREEN_DESC::Windowed']/*"/>
<unmanaged>BOOL Windowed</unmanaged>
<unmanaged-short>BOOL Windowed</unmanaged-short>
</member>
<membername="T:SharpDX.DXGI.ModuleInit">
<summary>
Internal class used to initialize this assembly.
</summary>
</member>
<membername="M:SharpDX.DXGI.ModuleInit.Setup">
<summary>
Initializes this assembly.
</summary>
<remarks>
This method is called when the assembly is loaded.