// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

namespace Win32.Graphics.Direct3D11;


/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_PROTECTION_FLAGS"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_PROTECTION_FLAGS</unmanaged>
[StructLayout(LayoutKind.Explicit)]
public partial struct AuthenticatedProtectionFlags
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_PROTECTION_FLAGS::Flags"]/*' />
	[FieldOffset(0)]
	public _Flags_e__Struct Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_PROTECTION_FLAGS::Value"]/*' />
	[FieldOffset(0)]
	public uint Value;

	public partial struct _Flags_e__Struct
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Flags_e__Struct::_bitfield"]/*' />
		public uint _bitfield;
	}
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC"]/*' />
/// <unmanaged>D3D11_INPUT_ELEMENT_DESC</unmanaged>
public partial struct InputElementDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::SemanticName"]/*' />
	public unsafe sbyte* SemanticName;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::SemanticIndex"]/*' />
	public uint SemanticIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::InputSlot"]/*' />
	public uint InputSlot;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::AlignedByteOffset"]/*' />
	public uint AlignedByteOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::InputSlotClass"]/*' />
	public InputClassification InputSlotClass;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INPUT_ELEMENT_DESC::InstanceDataStepRate"]/*' />
	public uint InstanceDataStepRate;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY"]/*' />
/// <unmanaged>D3D11_SO_DECLARATION_ENTRY</unmanaged>
public partial struct SODeclarationEntry
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::Stream"]/*' />
	public uint Stream;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::SemanticName"]/*' />
	public unsafe sbyte* SemanticName;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::SemanticIndex"]/*' />
	public uint SemanticIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::StartComponent"]/*' />
	public byte StartComponent;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::ComponentCount"]/*' />
	public byte ComponentCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SO_DECLARATION_ENTRY::OutputSlot"]/*' />
	public byte OutputSlot;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INSTANCED_INDIRECT_ARGS"]/*' />
/// <unmanaged>D3D11_DRAW_INSTANCED_INDIRECT_ARGS</unmanaged>
public partial struct DrawInstancedIndirectArgs
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INSTANCED_INDIRECT_ARGS::VertexCountPerInstance"]/*' />
	public uint VertexCountPerInstance;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INSTANCED_INDIRECT_ARGS::InstanceCount"]/*' />
	public uint InstanceCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INSTANCED_INDIRECT_ARGS::StartVertexLocation"]/*' />
	public uint StartVertexLocation;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INSTANCED_INDIRECT_ARGS::StartInstanceLocation"]/*' />
	public uint StartInstanceLocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS"]/*' />
/// <unmanaged>D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS</unmanaged>
public partial struct DrawIndexedInstancedIndirectArgs
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS::IndexCountPerInstance"]/*' />
	public uint IndexCountPerInstance;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS::InstanceCount"]/*' />
	public uint InstanceCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS::StartIndexLocation"]/*' />
	public uint StartIndexLocation;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS::BaseVertexLocation"]/*' />
	public int BaseVertexLocation;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS::StartInstanceLocation"]/*' />
	public uint StartInstanceLocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX"]/*' />
/// <unmanaged>D3D11_BOX</unmanaged>
public partial struct Box
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::left"]/*' />
	public uint left;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::top"]/*' />
	public uint top;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::front"]/*' />
	public uint front;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::right"]/*' />
	public uint right;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::bottom"]/*' />
	public uint bottom;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BOX::back"]/*' />
	public uint back;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC"]/*' />
/// <unmanaged>D3D11_DEPTH_STENCILOP_DESC</unmanaged>
public partial struct DepthStencilOperationDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilFailOp"]/*' />
	public StencilOperation StencilFailOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilDepthFailOp"]/*' />
	public StencilOperation StencilDepthFailOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilPassOp"]/*' />
	public StencilOperation StencilPassOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilFunc"]/*' />
	public ComparisonFunction StencilFunc;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC"]/*' />
/// <unmanaged>D3D11_DEPTH_STENCIL_DESC</unmanaged>
public partial struct DepthStencilDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::DepthEnable"]/*' />
	public Bool32 DepthEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::DepthWriteMask"]/*' />
	public DepthWriteMask DepthWriteMask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::DepthFunc"]/*' />
	public ComparisonFunction DepthFunc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::StencilEnable"]/*' />
	public Bool32 StencilEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::StencilReadMask"]/*' />
	public byte StencilReadMask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::StencilWriteMask"]/*' />
	public byte StencilWriteMask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::FrontFace"]/*' />
	public DepthStencilOperationDescription FrontFace;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::BackFace"]/*' />
	public DepthStencilOperationDescription BackFace;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC"]/*' />
/// <unmanaged>D3D11_RENDER_TARGET_BLEND_DESC</unmanaged>
public partial struct RenderTargetBlendDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::BlendEnable"]/*' />
	public Bool32 BlendEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::SrcBlend"]/*' />
	public Blend SrcBlend;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::DestBlend"]/*' />
	public Blend DestBlend;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::BlendOp"]/*' />
	public BlendOperation BlendOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::SrcBlendAlpha"]/*' />
	public Blend SrcBlendAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::DestBlendAlpha"]/*' />
	public Blend DestBlendAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::BlendOpAlpha"]/*' />
	public BlendOperation BlendOpAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC::RenderTargetWriteMask"]/*' />
	public ColorWriteEnable RenderTargetWriteMask;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC"]/*' />
/// <unmanaged>D3D11_BLEND_DESC</unmanaged>
public partial struct BlendDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC::AlphaToCoverageEnable"]/*' />
	public Bool32 AlphaToCoverageEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC::IndependentBlendEnable"]/*' />
	public Bool32 IndependentBlendEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC::RenderTarget"]/*' />
	public RenderTarget__FixedBuffer RenderTarget;

	public unsafe struct RenderTarget__FixedBuffer
	{
		public RenderTargetBlendDescription e0;
		public RenderTargetBlendDescription e1;
		public RenderTargetBlendDescription e2;
		public RenderTargetBlendDescription e3;
		public RenderTargetBlendDescription e4;
		public RenderTargetBlendDescription e5;
		public RenderTargetBlendDescription e6;
		public RenderTargetBlendDescription e7;

		[UnscopedRef]
		public ref RenderTargetBlendDescription this[int index]
		{
			[MethodImpl(MethodImplOptions.AggressiveInlining)]
			get
			{
				return ref AsSpan()[index];
			}
		}

		[UnscopedRef]
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		public Span<RenderTargetBlendDescription> AsSpan()
		{
			return MemoryMarshal.CreateSpan(ref e0, 8);
		}
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC"]/*' />
/// <unmanaged>D3D11_RASTERIZER_DESC</unmanaged>
public partial struct RasterizerDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::FillMode"]/*' />
	public FillMode FillMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::CullMode"]/*' />
	public CullMode CullMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::FrontCounterClockwise"]/*' />
	public Bool32 FrontCounterClockwise;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::DepthBias"]/*' />
	public int DepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::DepthBiasClamp"]/*' />
	public float DepthBiasClamp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::SlopeScaledDepthBias"]/*' />
	public float SlopeScaledDepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::DepthClipEnable"]/*' />
	public Bool32 DepthClipEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::ScissorEnable"]/*' />
	public Bool32 ScissorEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::MultisampleEnable"]/*' />
	public Bool32 MultisampleEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC::AntialiasedLineEnable"]/*' />
	public Bool32 AntialiasedLineEnable;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_DATA"]/*' />
/// <unmanaged>D3D11_SUBRESOURCE_DATA</unmanaged>
public partial struct SubresourceData
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_DATA::pSysMem"]/*' />
	public unsafe void* pSysMem;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_DATA::SysMemPitch"]/*' />
	public uint SysMemPitch;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_DATA::SysMemSlicePitch"]/*' />
	public uint SysMemSlicePitch;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MAPPED_SUBRESOURCE"]/*' />
/// <unmanaged>D3D11_MAPPED_SUBRESOURCE</unmanaged>
public partial struct MappedSubresource
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MAPPED_SUBRESOURCE::pData"]/*' />
	public unsafe void* pData;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MAPPED_SUBRESOURCE::RowPitch"]/*' />
	public uint RowPitch;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MAPPED_SUBRESOURCE::DepthPitch"]/*' />
	public uint DepthPitch;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC"]/*' />
/// <unmanaged>D3D11_BUFFER_DESC</unmanaged>
public partial struct BufferDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::ByteWidth"]/*' />
	public uint ByteWidth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_DESC::StructureByteStride"]/*' />
	public uint StructureByteStride;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC"]/*' />
/// <unmanaged>D3D11_TEXTURE1D_DESC</unmanaged>
public partial struct Texture1DDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE1D_DESC::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC"]/*' />
/// <unmanaged>D3D11_TEXTURE2D_DESC</unmanaged>
public partial struct Texture2DDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::SampleDesc"]/*' />
	public Graphics.Dxgi.Common.SampleDescription SampleDesc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC"]/*' />
/// <unmanaged>D3D11_TEXTURE3D_DESC</unmanaged>
public partial struct Texture3DDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::Depth"]/*' />
	public uint Depth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_SRV"]/*' />
/// <unmanaged>D3D11_BUFFER_SRV</unmanaged>
public partial struct BufferSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_SRV::Anonymous1"]/*' />
	public _Anonymous1_e__Union Anonymous1;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_SRV::Anonymous2"]/*' />
	public _Anonymous2_e__Union Anonymous2;

	[UnscopedRef]
	public ref uint FirstElement
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous1.FirstElement;
		}
	}

	[UnscopedRef]
	public ref uint ElementOffset
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous1.ElementOffset;
		}
	}

	[UnscopedRef]
	public ref uint NumElements
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous2.NumElements;
		}
	}

	[UnscopedRef]
	public ref uint ElementWidth
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous2.ElementWidth;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous1_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous1_e__Union::FirstElement"]/*' />
		[FieldOffset(0)]
		public uint FirstElement;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous1_e__Union::ElementOffset"]/*' />
		[FieldOffset(0)]
		public uint ElementOffset;
	}
	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous2_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous2_e__Union::NumElements"]/*' />
		[FieldOffset(0)]
		public uint NumElements;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous2_e__Union::ElementWidth"]/*' />
		[FieldOffset(0)]
		public uint ElementWidth;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV"]/*' />
/// <unmanaged>D3D11_BUFFEREX_SRV</unmanaged>
public partial struct BufferExtendedSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV::FirstElement"]/*' />
	public uint FirstElement;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV::NumElements"]/*' />
	public uint NumElements;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV::Flags"]/*' />
	public BufferExtendedSrvFlags Flags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_SRV"]/*' />
/// <unmanaged>D3D11_TEX1D_SRV</unmanaged>
public partial struct Texture1DSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_SRV::MipLevels"]/*' />
	public uint MipLevels;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_SRV"]/*' />
/// <unmanaged>D3D11_TEX1D_ARRAY_SRV</unmanaged>
public partial struct Texture1DArraySrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_SRV::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_SRV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_SRV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV"]/*' />
/// <unmanaged>D3D11_TEX2D_SRV</unmanaged>
public partial struct Texture2DSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV::MipLevels"]/*' />
	public uint MipLevels;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_SRV</unmanaged>
public partial struct Texture2DArraySrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_SRV"]/*' />
/// <unmanaged>D3D11_TEX3D_SRV</unmanaged>
public partial struct Texture3DSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_SRV::MipLevels"]/*' />
	public uint MipLevels;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_SRV"]/*' />
/// <unmanaged>D3D11_TEXCUBE_SRV</unmanaged>
public partial struct TexureCubeSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_SRV::MipLevels"]/*' />
	public uint MipLevels;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_ARRAY_SRV"]/*' />
/// <unmanaged>D3D11_TEXCUBE_ARRAY_SRV</unmanaged>
public partial struct TexureCubeArraySrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_ARRAY_SRV::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_ARRAY_SRV::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_ARRAY_SRV::First2DArrayFace"]/*' />
	public uint First2DArrayFace;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXCUBE_ARRAY_SRV::NumCubes"]/*' />
	public uint NumCubes;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_SRV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_SRV</unmanaged>
public partial struct Texture2DMsSrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_SRV::UnusedField_NothingToDefine"]/*' />
	public uint UnusedField_NothingToDefine;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_SRV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_ARRAY_SRV</unmanaged>
public partial struct Texture2DMsArraySrv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_SRV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_SRV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_RESOURCE_VIEW_DESC</unmanaged>
public partial struct ShaderResourceViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC::ViewDimension"]/*' />
	public Graphics.Direct3D.SrvDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferSrv Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DSrv Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArraySrv Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DSrv Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArraySrv Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsSrv Texture2DMS
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMS;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsArraySrv Texture2DMSArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMSArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DSrv Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[UnscopedRef]
	public ref TexureCubeSrv TextureCube
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.TextureCube;
		}
	}

	[UnscopedRef]
	public ref TexureCubeArraySrv TextureCubeArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.TextureCubeArray;
		}
	}

	[UnscopedRef]
	public ref BufferExtendedSrv BufferEx
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.BufferEx;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferSrv Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DSrv Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArraySrv Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DSrv Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArraySrv Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMS"]/*' />
		[FieldOffset(0)]
		public Texture2DMsSrv Texture2DMS;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMSArray"]/*' />
		[FieldOffset(0)]
		public Texture2DMsArraySrv Texture2DMSArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DSrv Texture3D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::TextureCube"]/*' />
		[FieldOffset(0)]
		public TexureCubeSrv TextureCube;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::TextureCubeArray"]/*' />
		[FieldOffset(0)]
		public TexureCubeArraySrv TextureCubeArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::BufferEx"]/*' />
		[FieldOffset(0)]
		public BufferExtendedSrv BufferEx;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_RTV"]/*' />
/// <unmanaged>D3D11_BUFFER_RTV</unmanaged>
public partial struct BufferRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_RTV::Anonymous1"]/*' />
	public _Anonymous1_e__Union Anonymous1;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_RTV::Anonymous2"]/*' />
	public _Anonymous2_e__Union Anonymous2;

	[UnscopedRef]
	public ref uint NumElements
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous2.NumElements;
		}
	}

	[UnscopedRef]
	public ref uint ElementWidth
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous2.ElementWidth;
		}
	}

	[UnscopedRef]
	public ref uint FirstElement
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous1.FirstElement;
		}
	}

	[UnscopedRef]
	public ref uint ElementOffset
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous1.ElementOffset;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous2_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous2_e__Union::NumElements"]/*' />
		[FieldOffset(0)]
		public uint NumElements;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous2_e__Union::ElementWidth"]/*' />
		[FieldOffset(0)]
		public uint ElementWidth;
	}
	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous1_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous1_e__Union::FirstElement"]/*' />
		[FieldOffset(0)]
		public uint FirstElement;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous1_e__Union::ElementOffset"]/*' />
		[FieldOffset(0)]
		public uint ElementOffset;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_RTV"]/*' />
/// <unmanaged>D3D11_TEX1D_RTV</unmanaged>
public partial struct Texture1DRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_RTV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_RTV"]/*' />
/// <unmanaged>D3D11_TEX1D_ARRAY_RTV</unmanaged>
public partial struct Texture1DArrayRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_RTV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_RTV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_RTV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_RTV"]/*' />
/// <unmanaged>D3D11_TEX2D_RTV</unmanaged>
public partial struct Texture2DRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_RTV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_RTV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_RTV</unmanaged>
public partial struct Texture2DMsRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_RTV::UnusedField_NothingToDefine"]/*' />
	public uint UnusedField_NothingToDefine;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_RTV</unmanaged>
public partial struct Texture2DArrayRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_RTV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_ARRAY_RTV</unmanaged>
public partial struct Texture2DMsArrayRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_RTV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_RTV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_RTV"]/*' />
/// <unmanaged>D3D11_TEX3D_RTV</unmanaged>
public partial struct Texture3DRtv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_RTV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_RTV::FirstWSlice"]/*' />
	public uint FirstWSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_RTV::WSize"]/*' />
	public uint WSize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_RENDER_TARGET_VIEW_DESC</unmanaged>
public partial struct RenderTargetViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC::ViewDimension"]/*' />
	public RtvDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferRtv Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DRtv Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArrayRtv Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DRtv Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayRtv Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsRtv Texture2DMS
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMS;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsArrayRtv Texture2DMSArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMSArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DRtv Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferRtv Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DRtv Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArrayRtv Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DRtv Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayRtv Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMS"]/*' />
		[FieldOffset(0)]
		public Texture2DMsRtv Texture2DMS;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMSArray"]/*' />
		[FieldOffset(0)]
		public Texture2DMsArrayRtv Texture2DMSArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DRtv Texture3D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_DSV"]/*' />
/// <unmanaged>D3D11_TEX1D_DSV</unmanaged>
public partial struct Texture1DDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_DSV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_DSV"]/*' />
/// <unmanaged>D3D11_TEX1D_ARRAY_DSV</unmanaged>
public partial struct Texture1DArrayDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_DSV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_DSV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_DSV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_DSV"]/*' />
/// <unmanaged>D3D11_TEX2D_DSV</unmanaged>
public partial struct Texture2DDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_DSV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_DSV"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_DSV</unmanaged>
public partial struct Texture2DArrayDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_DSV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_DSV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_DSV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_DSV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_DSV</unmanaged>
public partial struct Texture2DMsDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_DSV::UnusedField_NothingToDefine"]/*' />
	public uint UnusedField_NothingToDefine;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_DSV"]/*' />
/// <unmanaged>D3D11_TEX2DMS_ARRAY_DSV</unmanaged>
public partial struct Texture2DMsArrayDsv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_DSV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2DMS_ARRAY_DSV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_DEPTH_STENCIL_VIEW_DESC</unmanaged>
public partial struct DepthStencilViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_VIEW_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_VIEW_DESC::ViewDimension"]/*' />
	public DsvDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_VIEW_DESC::Flags"]/*' />
	public DsvFlags Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref Texture1DDsv Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArrayDsv Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DDsv Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayDsv Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsDsv Texture2DMS
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMS;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsArrayDsv Texture2DMSArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMSArray;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DDsv Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArrayDsv Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DDsv Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayDsv Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMS"]/*' />
		[FieldOffset(0)]
		public Texture2DMsDsv Texture2DMS;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMSArray"]/*' />
		[FieldOffset(0)]
		public Texture2DMsArrayDsv Texture2DMSArray;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV"]/*' />
/// <unmanaged>D3D11_BUFFER_UAV</unmanaged>
public partial struct BufferUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV::FirstElement"]/*' />
	public uint FirstElement;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV::NumElements"]/*' />
	public uint NumElements;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV::Flags"]/*' />
	public BufferUavFlags Flags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_UAV"]/*' />
/// <unmanaged>D3D11_TEX1D_UAV</unmanaged>
public partial struct Texture1DUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_UAV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_UAV"]/*' />
/// <unmanaged>D3D11_TEX1D_ARRAY_UAV</unmanaged>
public partial struct Texture1DArrayUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_UAV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_UAV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX1D_ARRAY_UAV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_UAV"]/*' />
/// <unmanaged>D3D11_TEX2D_UAV</unmanaged>
public partial struct Texture2DUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_UAV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_UAV</unmanaged>
public partial struct Texture2DArrayUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_UAV"]/*' />
/// <unmanaged>D3D11_TEX3D_UAV</unmanaged>
public partial struct Texture3DUav
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_UAV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_UAV::FirstWSlice"]/*' />
	public uint FirstWSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX3D_UAV::WSize"]/*' />
	public uint WSize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_UNORDERED_ACCESS_VIEW_DESC</unmanaged>
public partial struct UnorderedAccessViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC::ViewDimension"]/*' />
	public UavDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferUav Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DUav Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArrayUav Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DUav Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayUav Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DUav Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferUav Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DUav Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArrayUav Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DUav Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayUav Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DUav Texture3D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC"]/*' />
/// <unmanaged>D3D11_SAMPLER_DESC</unmanaged>
public partial struct SamplerDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::Filter"]/*' />
	public Filter Filter;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::AddressU"]/*' />
	public TextureAddressMode AddressU;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::AddressV"]/*' />
	public TextureAddressMode AddressV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::AddressW"]/*' />
	public TextureAddressMode AddressW;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::MipLODBias"]/*' />
	public float MipLODBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::MaxAnisotropy"]/*' />
	public uint MaxAnisotropy;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::ComparisonFunc"]/*' />
	public ComparisonFunction ComparisonFunc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::BorderColor"]/*' />
	public unsafe fixed float BorderColor[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::MinLOD"]/*' />
	public float MinLOD;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SAMPLER_DESC::MaxLOD"]/*' />
	public float MaxLOD;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC"]/*' />
/// <unmanaged>D3D11_QUERY_DESC</unmanaged>
public partial struct QueryDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC::Query"]/*' />
	public QueryType Query;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC::MiscFlags"]/*' />
	public QueryMiscFlags MiscFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_TIMESTAMP_DISJOINT"]/*' />
/// <unmanaged>D3D11_QUERY_DATA_TIMESTAMP_DISJOINT</unmanaged>
public partial struct QueryDataTimestampDisjoint
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_TIMESTAMP_DISJOINT::Frequency"]/*' />
	public ulong Frequency;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_TIMESTAMP_DISJOINT::Disjoint"]/*' />
	public Bool32 Disjoint;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS"]/*' />
/// <unmanaged>D3D11_QUERY_DATA_PIPELINE_STATISTICS</unmanaged>
public partial struct QueryDataPipelineStatistics
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::IAVertices"]/*' />
	public ulong IAVertices;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::IAPrimitives"]/*' />
	public ulong IAPrimitives;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::VSInvocations"]/*' />
	public ulong VSInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::GSInvocations"]/*' />
	public ulong GSInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::GSPrimitives"]/*' />
	public ulong GSPrimitives;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::CInvocations"]/*' />
	public ulong CInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::CPrimitives"]/*' />
	public ulong CPrimitives;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::PSInvocations"]/*' />
	public ulong PSInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::HSInvocations"]/*' />
	public ulong HSInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::DSInvocations"]/*' />
	public ulong DSInvocations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_PIPELINE_STATISTICS::CSInvocations"]/*' />
	public ulong CSInvocations;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_SO_STATISTICS"]/*' />
/// <unmanaged>D3D11_QUERY_DATA_SO_STATISTICS</unmanaged>
public partial struct QueryDataSOStatistics
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_SO_STATISTICS::NumPrimitivesWritten"]/*' />
	public ulong NumPrimitivesWritten;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DATA_SO_STATISTICS::PrimitivesStorageNeeded"]/*' />
	public ulong PrimitivesStorageNeeded;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_DESC"]/*' />
/// <unmanaged>D3D11_COUNTER_DESC</unmanaged>
public partial struct CounterDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_DESC::Counter"]/*' />
	public Counter Counter;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_DESC::MiscFlags"]/*' />
	public uint MiscFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_INFO"]/*' />
/// <unmanaged>D3D11_COUNTER_INFO</unmanaged>
public partial struct CounterInfo
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_INFO::LastDeviceDependentCounter"]/*' />
	public Counter LastDeviceDependentCounter;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_INFO::NumSimultaneousCounters"]/*' />
	public uint NumSimultaneousCounters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COUNTER_INFO::NumDetectableParallelUnits"]/*' />
	public byte NumDetectableParallelUnits;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC"]/*' />
/// <unmanaged>D3D11_CLASS_INSTANCE_DESC</unmanaged>
public partial struct ClassInstanceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::InstanceId"]/*' />
	public uint InstanceId;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::InstanceIndex"]/*' />
	public uint InstanceIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::TypeId"]/*' />
	public uint TypeId;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::ConstantBuffer"]/*' />
	public uint ConstantBuffer;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::BaseConstantBufferOffset"]/*' />
	public uint BaseConstantBufferOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::BaseTexture"]/*' />
	public uint BaseTexture;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::BaseSampler"]/*' />
	public uint BaseSampler;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLASS_INSTANCE_DESC::Created"]/*' />
	public Bool32 Created;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_THREADING"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_THREADING</unmanaged>
public partial struct FeatureDataThreading
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_THREADING::DriverConcurrentCreates"]/*' />
	public Bool32 DriverConcurrentCreates;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_THREADING::DriverCommandLists"]/*' />
	public Bool32 DriverCommandLists;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_DOUBLES"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_DOUBLES</unmanaged>
public partial struct FeatureDataDoubles
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_DOUBLES::DoublePrecisionFloatShaderOps"]/*' />
	public Bool32 DoublePrecisionFloatShaderOps;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_FORMAT_SUPPORT</unmanaged>
public partial struct FeatureDataFormatSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT::InFormat"]/*' />
	public Graphics.Dxgi.Common.Format InFormat;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT::OutFormatSupport"]/*' />
	public FormatSupport OutFormatSupport;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT2"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_FORMAT_SUPPORT2</unmanaged>
public partial struct FeatureDataFormatSupport2
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT2::InFormat"]/*' />
	public Graphics.Dxgi.Common.Format InFormat;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_FORMAT_SUPPORT2::OutFormatSupport2"]/*' />
	public FormatSupport2 OutFormatSupport2;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS</unmanaged>
public partial struct FeatureDataD3D10XHardwareOptions
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS::ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x"]/*' />
	public Bool32 ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS</unmanaged>
public partial struct FeatureDataD3D11Options
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::OutputMergerLogicOp"]/*' />
	public Bool32 OutputMergerLogicOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::UAVOnlyRenderingForcedSampleCount"]/*' />
	public Bool32 UAVOnlyRenderingForcedSampleCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::DiscardAPIsSeenByDriver"]/*' />
	public Bool32 DiscardAPIsSeenByDriver;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::FlagsForUpdateAndCopySeenByDriver"]/*' />
	public Bool32 FlagsForUpdateAndCopySeenByDriver;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::ClearView"]/*' />
	public Bool32 ClearView;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::CopyWithOverlap"]/*' />
	public Bool32 CopyWithOverlap;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::ConstantBufferPartialUpdate"]/*' />
	public Bool32 ConstantBufferPartialUpdate;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::ConstantBufferOffsetting"]/*' />
	public Bool32 ConstantBufferOffsetting;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::MapNoOverwriteOnDynamicConstantBuffer"]/*' />
	public Bool32 MapNoOverwriteOnDynamicConstantBuffer;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::MapNoOverwriteOnDynamicBufferSRV"]/*' />
	public Bool32 MapNoOverwriteOnDynamicBufferSRV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::MultisampleRTVWithForcedSampleCountOne"]/*' />
	public Bool32 MultisampleRTVWithForcedSampleCountOne;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::SAD4ShaderInstructions"]/*' />
	public Bool32 SAD4ShaderInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::ExtendedDoublesShaderInstructions"]/*' />
	public Bool32 ExtendedDoublesShaderInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS::ExtendedResourceSharing"]/*' />
	public Bool32 ExtendedResourceSharing;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_ARCHITECTURE_INFO"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_ARCHITECTURE_INFO</unmanaged>
public partial struct FeatureDataArchitectureInfo
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_ARCHITECTURE_INFO::TileBasedDeferredRenderer"]/*' />
	public Bool32 TileBasedDeferredRenderer;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D9_OPTIONS</unmanaged>
public partial struct FeatureDataD3d9Options
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS::FullNonPow2TextureSupport"]/*' />
	public Bool32 FullNonPow2TextureSupport;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT</unmanaged>
public partial struct FeatureDataD3d9ShadowSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT::SupportsDepthAsTextureWithLessEqualComparisonFilter"]/*' />
	public Bool32 SupportsDepthAsTextureWithLessEqualComparisonFilter;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT</unmanaged>
public partial struct FeatureDataShaderMinPrecisionSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT::PixelShaderMinPrecision"]/*' />
	public uint PixelShaderMinPrecision;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT::AllOtherShaderStagesMinPrecision"]/*' />
	public uint AllOtherShaderStagesMinPrecision;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS1"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS1</unmanaged>
public partial struct FeatureDataD3D11Options1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS1::TiledResourcesTier"]/*' />
	public TiledResourcesTier TiledResourcesTier;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS1::MinMaxFiltering"]/*' />
	public Bool32 MinMaxFiltering;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS1::ClearViewAlsoSupportsDepthOnlyFormats"]/*' />
	public Bool32 ClearViewAlsoSupportsDepthOnlyFormats;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS1::MapOnDefaultBuffers"]/*' />
	public Bool32 MapOnDefaultBuffers;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT</unmanaged>
public partial struct FeatureDataD3d9SimpleInstancingSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT::SimpleInstancingSupported"]/*' />
	public Bool32 SimpleInstancingSupported;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_MARKER_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_MARKER_SUPPORT</unmanaged>
public partial struct FeatureDataMarkerSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_MARKER_SUPPORT::Profile"]/*' />
	public Bool32 Profile;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS1"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D9_OPTIONS1</unmanaged>
public partial struct FeatureDataD3d9Options1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS1::FullNonPow2TextureSupported"]/*' />
	public Bool32 FullNonPow2TextureSupported;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS1::DepthAsTextureWithLessEqualComparisonFilterSupported"]/*' />
	public Bool32 DepthAsTextureWithLessEqualComparisonFilterSupported;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS1::SimpleInstancingSupported"]/*' />
	public Bool32 SimpleInstancingSupported;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D9_OPTIONS1::TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported"]/*' />
	public Bool32 TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS2</unmanaged>
public partial struct FeatureDataD3D11Options2
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::PSSpecifiedStencilRefSupported"]/*' />
	public Bool32 PSSpecifiedStencilRefSupported;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::TypedUAVLoadAdditionalFormats"]/*' />
	public Bool32 TypedUAVLoadAdditionalFormats;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::ROVsSupported"]/*' />
	public Bool32 ROVsSupported;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::ConservativeRasterizationTier"]/*' />
	public ConservativeRasterizationTier ConservativeRasterizationTier;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::TiledResourcesTier"]/*' />
	public TiledResourcesTier TiledResourcesTier;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::MapOnDefaultTextures"]/*' />
	public Bool32 MapOnDefaultTextures;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::StandardSwizzle"]/*' />
	public Bool32 StandardSwizzle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS2::UnifiedMemoryArchitecture"]/*' />
	public Bool32 UnifiedMemoryArchitecture;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS3"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS3</unmanaged>
public partial struct FeatureDataD3D11Options3
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS3::VPAndRTArrayIndexFromAnyShaderFeedingRasterizer"]/*' />
	public Bool32 VPAndRTArrayIndexFromAnyShaderFeedingRasterizer;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT</unmanaged>
public partial struct FeatureDataGpuVirtualAddressSupport
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT::MaxGPUVirtualAddressBitsPerResource"]/*' />
	public uint MaxGPUVirtualAddressBitsPerResource;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT::MaxGPUVirtualAddressBitsPerProcess"]/*' />
	public uint MaxGPUVirtualAddressBitsPerProcess;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_SHADER_CACHE"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_SHADER_CACHE</unmanaged>
public partial struct FeatureDataShaderCache
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_SHADER_CACHE::SupportFlags"]/*' />
	public uint SupportFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_DISPLAYABLE"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_DISPLAYABLE</unmanaged>
public partial struct FeatureDataDisplayable
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_DISPLAYABLE::DisplayableTexture"]/*' />
	public Bool32 DisplayableTexture;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_DISPLAYABLE::SharedResourceTier"]/*' />
	public SharedResourceTier SharedResourceTier;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS5"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS5</unmanaged>
public partial struct FeatureDataD3D11Options5
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS5::SharedResourceTier"]/*' />
	public SharedResourceTier SharedResourceTier;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_DESC</unmanaged>
public partial struct VideoDecoderDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_DESC::Guid"]/*' />
	public Guid Guid;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_DESC::SampleWidth"]/*' />
	public uint SampleWidth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_DESC::SampleHeight"]/*' />
	public uint SampleHeight;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_DESC::OutputFormat"]/*' />
	public Graphics.Dxgi.Common.Format OutputFormat;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_CONFIG</unmanaged>
public partial struct VideoDecoderConfig
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::guidConfigBitstreamEncryption"]/*' />
	public Guid guidConfigBitstreamEncryption;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::guidConfigMBcontrolEncryption"]/*' />
	public Guid guidConfigMBcontrolEncryption;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::guidConfigResidDiffEncryption"]/*' />
	public Guid guidConfigResidDiffEncryption;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigBitstreamRaw"]/*' />
	public uint ConfigBitstreamRaw;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigMBcontrolRasterOrder"]/*' />
	public uint ConfigMBcontrolRasterOrder;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigResidDiffHost"]/*' />
	public uint ConfigResidDiffHost;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigSpatialResid8"]/*' />
	public uint ConfigSpatialResid8;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigResid8Subtraction"]/*' />
	public uint ConfigResid8Subtraction;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigSpatialHost8or9Clipping"]/*' />
	public uint ConfigSpatialHost8or9Clipping;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigSpatialResidInterleaved"]/*' />
	public uint ConfigSpatialResidInterleaved;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigIntraResidUnsigned"]/*' />
	public uint ConfigIntraResidUnsigned;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigResidDiffAccelerator"]/*' />
	public uint ConfigResidDiffAccelerator;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigHostInverseScan"]/*' />
	public uint ConfigHostInverseScan;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigSpecificIDCT"]/*' />
	public uint ConfigSpecificIDCT;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::Config4GroupedCoefs"]/*' />
	public uint Config4GroupedCoefs;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigMinRenderTargetBuffCount"]/*' />
	public ushort ConfigMinRenderTargetBuffCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_CONFIG::ConfigDecoderSpecific"]/*' />
	public ushort ConfigDecoderSpecific;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AES_CTR_IV"]/*' />
/// <unmanaged>D3D11_AES_CTR_IV</unmanaged>
public partial struct AesCtrIv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AES_CTR_IV::IV"]/*' />
	public ulong IV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AES_CTR_IV::Count"]/*' />
	public ulong Count;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ENCRYPTED_BLOCK_INFO"]/*' />
/// <unmanaged>D3D11_ENCRYPTED_BLOCK_INFO</unmanaged>
public partial struct EncryptedBlockInfo
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ENCRYPTED_BLOCK_INFO::NumEncryptedBytesAtBeginning"]/*' />
	public uint NumEncryptedBytesAtBeginning;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ENCRYPTED_BLOCK_INFO::NumBytesInSkipPattern"]/*' />
	public uint NumBytesInSkipPattern;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ENCRYPTED_BLOCK_INFO::NumBytesInEncryptPattern"]/*' />
	public uint NumBytesInEncryptPattern;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_BUFFER_DESC</unmanaged>
public partial struct VideoDecoderBufferDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::BufferType"]/*' />
	public VideoDecoderBufferType BufferType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::BufferIndex"]/*' />
	public uint BufferIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::DataOffset"]/*' />
	public uint DataOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::DataSize"]/*' />
	public uint DataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::FirstMBaddress"]/*' />
	public uint FirstMBaddress;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::NumMBsInBuffer"]/*' />
	public uint NumMBsInBuffer;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::Stride"]/*' />
	public uint Stride;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::ReservedBits"]/*' />
	public uint ReservedBits;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::pIV"]/*' />
	public unsafe void* pIV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::IVSize"]/*' />
	public uint IVSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::PartialEncryption"]/*' />
	public Bool32 PartialEncryption;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC::EncryptedBlockInfo"]/*' />
	public EncryptedBlockInfo EncryptedBlockInfo;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_EXTENSION</unmanaged>
public partial struct VideoDecoderExtension
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::Function"]/*' />
	public uint Function;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::pPrivateInputData"]/*' />
	public unsafe void* pPrivateInputData;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::PrivateInputDataSize"]/*' />
	public uint PrivateInputDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::pPrivateOutputData"]/*' />
	public unsafe void* pPrivateOutputData;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::PrivateOutputDataSize"]/*' />
	public uint PrivateOutputDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::ResourceCount"]/*' />
	public uint ResourceCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_EXTENSION::ppResourceList"]/*' />
	public unsafe ID3D11Resource* ppResourceList;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_CAPS</unmanaged>
public partial struct VideoProcessorCaps
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::DeviceCaps"]/*' />
	public uint DeviceCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::FeatureCaps"]/*' />
	public uint FeatureCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::FilterCaps"]/*' />
	public uint FilterCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::InputFormatCaps"]/*' />
	public uint InputFormatCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::AutoStreamCaps"]/*' />
	public uint AutoStreamCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::StereoCaps"]/*' />
	public uint StereoCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::RateConversionCapsCount"]/*' />
	public uint RateConversionCapsCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::MaxInputStreams"]/*' />
	public uint MaxInputStreams;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CAPS::MaxStreamStates"]/*' />
	public uint MaxStreamStates;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS</unmanaged>
public partial struct VideoProcessorRateConversionCaps
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS::PastFrames"]/*' />
	public uint PastFrames;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS::FutureFrames"]/*' />
	public uint FutureFrames;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS::ProcessorCaps"]/*' />
	public uint ProcessorCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS::ITelecineCaps"]/*' />
	public uint ITelecineCaps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS::CustomRateCount"]/*' />
	public uint CustomRateCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_CONTENT_PROTECTION_CAPS"]/*' />
/// <unmanaged>D3D11_VIDEO_CONTENT_PROTECTION_CAPS</unmanaged>
public partial struct VideoContentProtectionCaps
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_CONTENT_PROTECTION_CAPS::Caps"]/*' />
	public uint Caps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_CONTENT_PROTECTION_CAPS::KeyExchangeTypeCount"]/*' />
	public uint KeyExchangeTypeCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_CONTENT_PROTECTION_CAPS::BlockAlignmentSize"]/*' />
	public uint BlockAlignmentSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_CONTENT_PROTECTION_CAPS::ProtectedMemorySize"]/*' />
	public ulong ProtectedMemorySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CUSTOM_RATE"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_CUSTOM_RATE</unmanaged>
public partial struct VideoProcessorCustomRate
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CUSTOM_RATE::CustomRate"]/*' />
	public Graphics.Dxgi.Common.Rational CustomRate;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CUSTOM_RATE::OutputFrames"]/*' />
	public uint OutputFrames;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CUSTOM_RATE::InputInterlaced"]/*' />
	public Bool32 InputInterlaced;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CUSTOM_RATE::InputFramesOrFields"]/*' />
	public uint InputFramesOrFields;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_FILTER_RANGE"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_FILTER_RANGE</unmanaged>
public partial struct VideoProcessorFilterRange
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_FILTER_RANGE::Minimum"]/*' />
	public int Minimum;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_FILTER_RANGE::Maximum"]/*' />
	public int Maximum;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_FILTER_RANGE::Default"]/*' />
	public int Default;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_FILTER_RANGE::Multiplier"]/*' />
	public float Multiplier;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_CONTENT_DESC</unmanaged>
public partial struct VideoProcessorContentDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::InputFrameFormat"]/*' />
	public VideoFrameFormat InputFrameFormat;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::InputFrameRate"]/*' />
	public Graphics.Dxgi.Common.Rational InputFrameRate;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::InputWidth"]/*' />
	public uint InputWidth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::InputHeight"]/*' />
	public uint InputHeight;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::OutputFrameRate"]/*' />
	public Graphics.Dxgi.Common.Rational OutputFrameRate;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::OutputWidth"]/*' />
	public uint OutputWidth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::OutputHeight"]/*' />
	public uint OutputHeight;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_CONTENT_DESC::Usage"]/*' />
	public VideoUsage Usage;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_RGBA"]/*' />
/// <unmanaged>D3D11_VIDEO_COLOR_RGBA</unmanaged>
public partial struct VideoColorRgba
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_RGBA::R"]/*' />
	public float R;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_RGBA::G"]/*' />
	public float G;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_RGBA::B"]/*' />
	public float B;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_RGBA::A"]/*' />
	public float A;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_YCbCrA"]/*' />
/// <unmanaged>D3D11_VIDEO_COLOR_YCbCrA</unmanaged>
public partial struct VideoColorYcbcra
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_YCbCrA::Y"]/*' />
	public float Y;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_YCbCrA::Cb"]/*' />
	public float Cb;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_YCbCrA::Cr"]/*' />
	public float Cr;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR_YCbCrA::A"]/*' />
	public float A;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR"]/*' />
/// <unmanaged>D3D11_VIDEO_COLOR</unmanaged>
public partial struct VideoColor
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_COLOR::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref VideoColorYcbcra YCbCr
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.YCbCr;
		}
	}

	[UnscopedRef]
	public ref VideoColorRgba RGBA
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.RGBA;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::YCbCr"]/*' />
		[FieldOffset(0)]
		public VideoColorYcbcra YCbCr;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::RGBA"]/*' />
		[FieldOffset(0)]
		public VideoColorRgba RGBA;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_COLOR_SPACE"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_COLOR_SPACE</unmanaged>
public partial struct VideoProcessorColorSpace
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_COLOR_SPACE::_bitfield"]/*' />
	public uint _bitfield;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_STREAM</unmanaged>
public partial struct VideoProcessorStream
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::Enable"]/*' />
	public Bool32 Enable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::OutputIndex"]/*' />
	public uint OutputIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::InputFrameOrField"]/*' />
	public uint InputFrameOrField;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::PastFrames"]/*' />
	public uint PastFrames;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::FutureFrames"]/*' />
	public uint FutureFrames;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::ppPastSurfaces"]/*' />
	public unsafe ID3D11VideoProcessorInputView* ppPastSurfaces;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::pInputSurface"]/*' />
	public unsafe ID3D11VideoProcessorInputView* pInputSurface;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::ppFutureSurfaces"]/*' />
	public unsafe ID3D11VideoProcessorInputView* ppFutureSurfaces;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::ppPastSurfacesRight"]/*' />
	public unsafe ID3D11VideoProcessorInputView* ppPastSurfacesRight;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::pInputSurfaceRight"]/*' />
	public unsafe ID3D11VideoProcessorInputView* pInputSurfaceRight;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM::ppFutureSurfacesRight"]/*' />
	public unsafe ID3D11VideoProcessorInputView* ppFutureSurfacesRight;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_OMAC"]/*' />
/// <unmanaged>D3D11_OMAC</unmanaged>
public partial struct Omac
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_OMAC::Omac"]/*' />
	public unsafe fixed byte Buffer[16];
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_INPUT</unmanaged>
public partial struct AuthenticatedQueryInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_INPUT::QueryType"]/*' />
	public Guid QueryType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_INPUT::hChannel"]/*' />
	public Handle hChannel;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_INPUT::SequenceNumber"]/*' />
	public uint SequenceNumber;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT::omac"]/*' />
	public Omac omac;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT::QueryType"]/*' />
	public Guid QueryType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT::hChannel"]/*' />
	public Handle hChannel;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT::SequenceNumber"]/*' />
	public uint SequenceNumber;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT::ReturnCode"]/*' />
	public HResult ReturnCode;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryProtectionOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT::ProtectionFlags"]/*' />
	public AuthenticatedProtectionFlags ProtectionFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryChannelTypeOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT::ChannelType"]/*' />
	public AuthenticatedChannelType ChannelType;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryDeviceHandleOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT</unmanaged>
public partial struct AuthenticatedQueryCryptoSessionInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT::Input"]/*' />
	public AuthenticatedQueryInput Input;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT::DecoderHandle"]/*' />
	public Handle DecoderHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryCryptoSessionOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT::DecoderHandle"]/*' />
	public Handle DecoderHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryRestrictedSharedResourceProcessCountOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT::RestrictedSharedResourceProcessCount"]/*' />
	public uint RestrictedSharedResourceProcessCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT</unmanaged>
public partial struct AuthenticatedQueryRestrictedSharedResourceProcessInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT::Input"]/*' />
	public AuthenticatedQueryInput Input;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT::ProcessIndex"]/*' />
	public uint ProcessIndex;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryRestrictedSharedResourceProcessOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT::ProcessIndex"]/*' />
	public uint ProcessIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT::ProcessIdentifier"]/*' />
	public AuthenticatedProcessIdentifierType ProcessIdentifier;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT::ProcessHandle"]/*' />
	public Handle ProcessHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryUnrestrictedProtectedSharedResourceCountOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT::UnrestrictedProtectedSharedResourceCount"]/*' />
	public uint UnrestrictedProtectedSharedResourceCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT</unmanaged>
public partial struct AuthenticatedQueryOutputIdCountInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT::Input"]/*' />
	public AuthenticatedQueryInput Input;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryOutputIdCountOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT::OutputIDCount"]/*' />
	public uint OutputIDCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT</unmanaged>
public partial struct AuthenticatedQueryOutputIdInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT::Input"]/*' />
	public AuthenticatedQueryInput Input;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT::OutputIDIndex"]/*' />
	public uint OutputIDIndex;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryOutputIdOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT::OutputIDIndex"]/*' />
	public uint OutputIDIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT::OutputID"]/*' />
	public ulong OutputID;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryAccessibilityOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT::BusType"]/*' />
	public BusType BusType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT::AccessibleInContiguousBlocks"]/*' />
	public Bool32 AccessibleInContiguousBlocks;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT::AccessibleInNonContiguousBlocks"]/*' />
	public Bool32 AccessibleInNonContiguousBlocks;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryAccessibilityEncryptionGuidCountOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT::EncryptionGuidCount"]/*' />
	public uint EncryptionGuidCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT</unmanaged>
public partial struct AuthenticatedQueryAccessibilityEncryptionGuidInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT::Input"]/*' />
	public AuthenticatedQueryInput Input;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT::EncryptionGuidIndex"]/*' />
	public uint EncryptionGuidIndex;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryAccessibilityEncryptionGuidOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT::EncryptionGuidIndex"]/*' />
	public uint EncryptionGuidIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT::EncryptionGuid"]/*' />
	public Guid EncryptionGuid;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT</unmanaged>
public partial struct AuthenticatedQueryCurrentAccessibilityEncryptionOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT::Output"]/*' />
	public AuthenticatedQueryOutput Output;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT::EncryptionGuid"]/*' />
	public Guid EncryptionGuid;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_INPUT</unmanaged>
public partial struct AuthenticatedConfigureInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INPUT::omac"]/*' />
	public Omac omac;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INPUT::ConfigureType"]/*' />
	public Guid ConfigureType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INPUT::hChannel"]/*' />
	public Handle hChannel;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INPUT::SequenceNumber"]/*' />
	public uint SequenceNumber;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_OUTPUT</unmanaged>
public partial struct AuthenticatedConfigureOutput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT::omac"]/*' />
	public Omac omac;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT::ConfigureType"]/*' />
	public Guid ConfigureType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT::hChannel"]/*' />
	public Handle hChannel;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT::SequenceNumber"]/*' />
	public uint SequenceNumber;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_OUTPUT::ReturnCode"]/*' />
	public HResult ReturnCode;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT</unmanaged>
public partial struct AuthenticatedConfigureInitializeInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT::Parameters"]/*' />
	public AuthenticatedConfigureInput Parameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT::StartSequenceQuery"]/*' />
	public uint StartSequenceQuery;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT::StartSequenceConfigure"]/*' />
	public uint StartSequenceConfigure;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT</unmanaged>
public partial struct AuthenticatedConfigureProtectionInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT::Parameters"]/*' />
	public AuthenticatedConfigureInput Parameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT::Protections"]/*' />
	public AuthenticatedProtectionFlags Protections;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT</unmanaged>
public partial struct AuthenticatedConfigureCryptoSessionInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT::Parameters"]/*' />
	public AuthenticatedConfigureInput Parameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT::DecoderHandle"]/*' />
	public Handle DecoderHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT::CryptoSessionHandle"]/*' />
	public Handle CryptoSessionHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT::DeviceHandle"]/*' />
	public Handle DeviceHandle;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT</unmanaged>
public partial struct AuthenticatedConfigureSharedResourceInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT::Parameters"]/*' />
	public AuthenticatedConfigureInput Parameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT::ProcessType"]/*' />
	public AuthenticatedProcessIdentifierType ProcessType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT::ProcessHandle"]/*' />
	public Handle ProcessHandle;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT::AllowAccess"]/*' />
	public Bool32 AllowAccess;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT"]/*' />
/// <unmanaged>D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT</unmanaged>
public partial struct AuthenticatedConfigureAccessibleEncryptionInput
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT::Parameters"]/*' />
	public AuthenticatedConfigureInput Parameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT::EncryptionGuid"]/*' />
	public Guid EncryptionGuid;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VDOV"]/*' />
/// <unmanaged>D3D11_TEX2D_VDOV</unmanaged>
public partial struct Texture2DVdov
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VDOV::ArraySlice"]/*' />
	public uint ArraySlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC</unmanaged>
public partial struct VideoDecoderOutputViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC::DecodeProfile"]/*' />
	public Guid DecodeProfile;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC::ViewDimension"]/*' />
	public VdovDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref Texture2DVdov Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DVdov Texture2D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VPIV"]/*' />
/// <unmanaged>D3D11_TEX2D_VPIV</unmanaged>
public partial struct Texture2DVpiv
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VPIV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VPIV::ArraySlice"]/*' />
	public uint ArraySlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC</unmanaged>
public partial struct VideoProcessorInputViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC::FourCC"]/*' />
	public uint FourCC;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC::ViewDimension"]/*' />
	public VpivDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref Texture2DVpiv Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DVpiv Texture2D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VPOV"]/*' />
/// <unmanaged>D3D11_TEX2D_VPOV</unmanaged>
public partial struct Texture2DVpov
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_VPOV::MipSlice"]/*' />
	public uint MipSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_VPOV"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_VPOV</unmanaged>
public partial struct Texture2DArrayVpov
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_VPOV::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_VPOV::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_VPOV::ArraySize"]/*' />
	public uint ArraySize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC</unmanaged>
public partial struct VideoProcessorOutputViewDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC::ViewDimension"]/*' />
	public VpovDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref Texture2DVpov Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayVpov Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DVpov Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayVpov Texture2DArray;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE"]/*' />
/// <unmanaged>D3D11_MESSAGE</unmanaged>
public partial struct Message
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE::Category"]/*' />
	public MessageCategory Category;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE::Severity"]/*' />
	public MessageSeverity Severity;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE::ID"]/*' />
	public MessageId ID;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE::pDescription"]/*' />
	public unsafe byte* pDescription;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE::DescriptionByteLength"]/*' />
	public nuint DescriptionByteLength;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC"]/*' />
/// <unmanaged>D3D11_INFO_QUEUE_FILTER_DESC</unmanaged>
public partial struct InfoQueueFilterDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::NumCategories"]/*' />
	public uint NumCategories;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::pCategoryList"]/*' />
	public unsafe MessageCategory* pCategoryList;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::NumSeverities"]/*' />
	public uint NumSeverities;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::pSeverityList"]/*' />
	public unsafe MessageSeverity* pSeverityList;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::NumIDs"]/*' />
	public uint NumIDs;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER_DESC::pIDList"]/*' />
	public unsafe MessageId* pIDList;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER"]/*' />
/// <unmanaged>D3D11_INFO_QUEUE_FILTER</unmanaged>
public partial struct InfoQueueFilter
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER::AllowList"]/*' />
	public InfoQueueFilterDescription AllowList;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_INFO_QUEUE_FILTER::DenyList"]/*' />
	public InfoQueueFilterDescription DenyList;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1"]/*' />
/// <unmanaged>D3D11_RENDER_TARGET_BLEND_DESC1</unmanaged>
public partial struct RenderTargetBlendDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::BlendEnable"]/*' />
	public Bool32 BlendEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::LogicOpEnable"]/*' />
	public Bool32 LogicOpEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::SrcBlend"]/*' />
	public Blend SrcBlend;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::DestBlend"]/*' />
	public Blend DestBlend;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::BlendOp"]/*' />
	public BlendOperation BlendOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::SrcBlendAlpha"]/*' />
	public Blend SrcBlendAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::DestBlendAlpha"]/*' />
	public Blend DestBlendAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::BlendOpAlpha"]/*' />
	public BlendOperation BlendOpAlpha;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::LogicOp"]/*' />
	public LogicOperation LogicOp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC1::RenderTargetWriteMask"]/*' />
	public ColorWriteEnable RenderTargetWriteMask;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC1"]/*' />
/// <unmanaged>D3D11_BLEND_DESC1</unmanaged>
public partial struct BlendDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC1::AlphaToCoverageEnable"]/*' />
	public Bool32 AlphaToCoverageEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC1::IndependentBlendEnable"]/*' />
	public Bool32 IndependentBlendEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BLEND_DESC1::RenderTarget"]/*' />
	public RenderTarget__FixedBuffer RenderTarget;

	public unsafe struct RenderTarget__FixedBuffer
	{
		public RenderTargetBlendDescription1 e0;
		public RenderTargetBlendDescription1 e1;
		public RenderTargetBlendDescription1 e2;
		public RenderTargetBlendDescription1 e3;
		public RenderTargetBlendDescription1 e4;
		public RenderTargetBlendDescription1 e5;
		public RenderTargetBlendDescription1 e6;
		public RenderTargetBlendDescription1 e7;

		[UnscopedRef]
		public ref RenderTargetBlendDescription1 this[int index]
		{
			[MethodImpl(MethodImplOptions.AggressiveInlining)]
			get
			{
				return ref AsSpan()[index];
			}
		}

		[UnscopedRef]
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		public Span<RenderTargetBlendDescription1> AsSpan()
		{
			return MemoryMarshal.CreateSpan(ref e0, 8);
		}
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1"]/*' />
/// <unmanaged>D3D11_RASTERIZER_DESC1</unmanaged>
public partial struct RasterizerDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::FillMode"]/*' />
	public FillMode FillMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::CullMode"]/*' />
	public CullMode CullMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::FrontCounterClockwise"]/*' />
	public Bool32 FrontCounterClockwise;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::DepthBias"]/*' />
	public int DepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::DepthBiasClamp"]/*' />
	public float DepthBiasClamp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::SlopeScaledDepthBias"]/*' />
	public float SlopeScaledDepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::DepthClipEnable"]/*' />
	public Bool32 DepthClipEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::ScissorEnable"]/*' />
	public Bool32 ScissorEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::MultisampleEnable"]/*' />
	public Bool32 MultisampleEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::AntialiasedLineEnable"]/*' />
	public Bool32 AntialiasedLineEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC1::ForcedSampleCount"]/*' />
	public uint ForcedSampleCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK</unmanaged>
public partial struct VideoDecoderSubSampleMappingBlock
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK::ClearSize"]/*' />
	public uint ClearSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK::EncryptedSize"]/*' />
	public uint EncryptedSize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_BUFFER_DESC1</unmanaged>
public partial struct VideoDecoderBufferDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::BufferType"]/*' />
	public VideoDecoderBufferType BufferType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::DataOffset"]/*' />
	public uint DataOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::DataSize"]/*' />
	public uint DataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::pIV"]/*' />
	public unsafe void* pIV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::IVSize"]/*' />
	public uint IVSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::pSubSampleMappingBlock"]/*' />
	public unsafe VideoDecoderSubSampleMappingBlock* pSubSampleMappingBlock;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC1::SubSampleMappingCount"]/*' />
	public uint SubSampleMappingCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION</unmanaged>
public partial struct VideoDecoderBeginFrameCryptoSession
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::pCryptoSession"]/*' />
	public unsafe ID3D11CryptoSession* pCryptoSession;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::BlobSize"]/*' />
	public uint BlobSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::pBlob"]/*' />
	public unsafe void* pBlob;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::pKeyInfoId"]/*' />
	public unsafe Guid* pKeyInfoId;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::PrivateDataSize"]/*' />
	public uint PrivateDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION::pPrivateData"]/*' />
	public unsafe void* pPrivateData;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT"]/*' />
/// <unmanaged>D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT</unmanaged>
public partial struct VideoProcessorStreamBehaviorHint
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT::Enable"]/*' />
	public Bool32 Enable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA"]/*' />
/// <unmanaged>D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA</unmanaged>
public partial struct KeyExchangeHWProtectionInputData
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA::PrivateDataSize"]/*' />
	public uint PrivateDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA::HWProtectionDataSize"]/*' />
	public uint HWProtectionDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA::pbInput"]/*' />
	public unsafe fixed byte pbInput[4];
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA"]/*' />
/// <unmanaged>D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA</unmanaged>
public partial struct KeyExchangeHWProtectionOutputData
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::PrivateDataSize"]/*' />
	public uint PrivateDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::MaxHWProtectionDataSize"]/*' />
	public uint MaxHWProtectionDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::HWProtectionDataSize"]/*' />
	public uint HWProtectionDataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::TransportTime"]/*' />
	public ulong TransportTime;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::ExecutionTime"]/*' />
	public ulong ExecutionTime;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA::pbOutput"]/*' />
	public unsafe fixed byte pbOutput[4];
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA"]/*' />
/// <unmanaged>D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA</unmanaged>
public partial struct KeyExchangeHWProtectionData
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA::HWProtectionFunctionID"]/*' />
	public uint HWProtectionFunctionID;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA::pInputData"]/*' />
	public unsafe KeyExchangeHWProtectionInputData* pInputData;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA::pOutputData"]/*' />
	public unsafe KeyExchangeHWProtectionOutputData* pOutputData;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA::Status"]/*' />
	public HResult Status;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_SAMPLE_DESC"]/*' />
/// <unmanaged>D3D11_VIDEO_SAMPLE_DESC</unmanaged>
public partial struct VideoSampleDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_SAMPLE_DESC::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_SAMPLE_DESC::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_SAMPLE_DESC::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_SAMPLE_DESC::ColorSpace"]/*' />
	public Graphics.Dxgi.Common.ColorSpaceType ColorSpace;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILED_RESOURCE_COORDINATE"]/*' />
/// <unmanaged>D3D11_TILED_RESOURCE_COORDINATE</unmanaged>
public partial struct TiledResourceCoordinate
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILED_RESOURCE_COORDINATE::X"]/*' />
	public uint X;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILED_RESOURCE_COORDINATE::Y"]/*' />
	public uint Y;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILED_RESOURCE_COORDINATE::Z"]/*' />
	public uint Z;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILED_RESOURCE_COORDINATE::Subresource"]/*' />
	public uint Subresource;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE"]/*' />
/// <unmanaged>D3D11_TILE_REGION_SIZE</unmanaged>
public partial struct TileRegionSize
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE::NumTiles"]/*' />
	public uint NumTiles;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE::bUseBox"]/*' />
	public Bool32 bUseBox;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE::Height"]/*' />
	public ushort Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_REGION_SIZE::Depth"]/*' />
	public ushort Depth;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_TILING"]/*' />
/// <unmanaged>D3D11_SUBRESOURCE_TILING</unmanaged>
public partial struct SubresourceTiling
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_TILING::WidthInTiles"]/*' />
	public uint WidthInTiles;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_TILING::HeightInTiles"]/*' />
	public ushort HeightInTiles;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_TILING::DepthInTiles"]/*' />
	public ushort DepthInTiles;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SUBRESOURCE_TILING::StartTileIndexInOverallResource"]/*' />
	public uint StartTileIndexInOverallResource;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_SHAPE"]/*' />
/// <unmanaged>D3D11_TILE_SHAPE</unmanaged>
public partial struct TileShape
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_SHAPE::WidthInTexels"]/*' />
	public uint WidthInTexels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_SHAPE::HeightInTexels"]/*' />
	public uint HeightInTexels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_SHAPE::DepthInTexels"]/*' />
	public uint DepthInTexels;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PACKED_MIP_DESC"]/*' />
/// <unmanaged>D3D11_PACKED_MIP_DESC</unmanaged>
public partial struct PackedMipDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PACKED_MIP_DESC::NumStandardMips"]/*' />
	public byte NumStandardMips;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PACKED_MIP_DESC::NumPackedMips"]/*' />
	public byte NumPackedMips;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PACKED_MIP_DESC::NumTilesForPackedMips"]/*' />
	public uint NumTilesForPackedMips;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PACKED_MIP_DESC::StartTileIndexInOverallResource"]/*' />
	public uint StartTileIndexInOverallResource;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1"]/*' />
/// <unmanaged>D3D11_TEXTURE2D_DESC1</unmanaged>
public partial struct Texture2DDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::SampleDesc"]/*' />
	public Graphics.Dxgi.Common.SampleDescription SampleDesc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE2D_DESC1::TextureLayout"]/*' />
	public TextureLayout TextureLayout;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1"]/*' />
/// <unmanaged>D3D11_TEXTURE3D_DESC1</unmanaged>
public partial struct Texture3DDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::Width"]/*' />
	public uint Width;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::Height"]/*' />
	public uint Height;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::Depth"]/*' />
	public uint Depth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::Usage"]/*' />
	public Usage Usage;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::BindFlags"]/*' />
	public BindFlags BindFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::CPUAccessFlags"]/*' />
	public CpuAccessFlags CPUAccessFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::MiscFlags"]/*' />
	public ResourceMiscFlags MiscFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEXTURE3D_DESC1::TextureLayout"]/*' />
	public TextureLayout TextureLayout;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2"]/*' />
/// <unmanaged>D3D11_RASTERIZER_DESC2</unmanaged>
public partial struct RasterizerDescription2
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::FillMode"]/*' />
	public FillMode FillMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::CullMode"]/*' />
	public CullMode CullMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::FrontCounterClockwise"]/*' />
	public Bool32 FrontCounterClockwise;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::DepthBias"]/*' />
	public int DepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::DepthBiasClamp"]/*' />
	public float DepthBiasClamp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::SlopeScaledDepthBias"]/*' />
	public float SlopeScaledDepthBias;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::DepthClipEnable"]/*' />
	public Bool32 DepthClipEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::ScissorEnable"]/*' />
	public Bool32 ScissorEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::MultisampleEnable"]/*' />
	public Bool32 MultisampleEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::AntialiasedLineEnable"]/*' />
	public Bool32 AntialiasedLineEnable;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::ForcedSampleCount"]/*' />
	public uint ForcedSampleCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RASTERIZER_DESC2::ConservativeRaster"]/*' />
	public ConservativeRasterizationMode ConservativeRaster;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV1"]/*' />
/// <unmanaged>D3D11_TEX2D_SRV1</unmanaged>
public partial struct Texture2DSrv1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV1::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV1::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_SRV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_SRV1</unmanaged>
public partial struct Texture2DArraySrv1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1::MostDetailedMip"]/*' />
	public uint MostDetailedMip;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1::MipLevels"]/*' />
	public uint MipLevels;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_SRV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC1"]/*' />
/// <unmanaged>D3D11_SHADER_RESOURCE_VIEW_DESC1</unmanaged>
public partial struct ShaderResourceViewDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC1::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC1::ViewDimension"]/*' />
	public Graphics.Direct3D.SrvDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_RESOURCE_VIEW_DESC1::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferSrv Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DSrv Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArraySrv Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DSrv1 Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArraySrv1 Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsSrv Texture2DMS
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMS;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsArraySrv Texture2DMSArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMSArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DSrv Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[UnscopedRef]
	public ref TexureCubeSrv TextureCube
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.TextureCube;
		}
	}

	[UnscopedRef]
	public ref TexureCubeArraySrv TextureCubeArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.TextureCubeArray;
		}
	}

	[UnscopedRef]
	public ref BufferExtendedSrv BufferEx
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.BufferEx;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferSrv Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DSrv Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArraySrv Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DSrv1 Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArraySrv1 Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMS"]/*' />
		[FieldOffset(0)]
		public Texture2DMsSrv Texture2DMS;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMSArray"]/*' />
		[FieldOffset(0)]
		public Texture2DMsArraySrv Texture2DMSArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DSrv Texture3D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::TextureCube"]/*' />
		[FieldOffset(0)]
		public TexureCubeSrv TextureCube;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::TextureCubeArray"]/*' />
		[FieldOffset(0)]
		public TexureCubeArraySrv TextureCubeArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::BufferEx"]/*' />
		[FieldOffset(0)]
		public BufferExtendedSrv BufferEx;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_RTV1"]/*' />
/// <unmanaged>D3D11_TEX2D_RTV1</unmanaged>
public partial struct Texture2DRtv1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_RTV1::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_RTV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV1"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_RTV1</unmanaged>
public partial struct Texture2DArrayRtv1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV1::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV1::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV1::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_RTV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC1"]/*' />
/// <unmanaged>D3D11_RENDER_TARGET_VIEW_DESC1</unmanaged>
public partial struct RenderTargetViewDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC1::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC1::ViewDimension"]/*' />
	public RtvDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_VIEW_DESC1::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferRtv Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DRtv Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArrayRtv Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DRtv1 Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayRtv1 Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsRtv Texture2DMS
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMS;
		}
	}

	[UnscopedRef]
	public ref Texture2DMsArrayRtv Texture2DMSArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DMSArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DRtv Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferRtv Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DRtv Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArrayRtv Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DRtv1 Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayRtv1 Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMS"]/*' />
		[FieldOffset(0)]
		public Texture2DMsRtv Texture2DMS;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DMSArray"]/*' />
		[FieldOffset(0)]
		public Texture2DMsArrayRtv Texture2DMSArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DRtv Texture3D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_UAV1"]/*' />
/// <unmanaged>D3D11_TEX2D_UAV1</unmanaged>
public partial struct Texture2DUav1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_UAV1::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_UAV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV1"]/*' />
/// <unmanaged>D3D11_TEX2D_ARRAY_UAV1</unmanaged>
public partial struct Texture2DArrayUav1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV1::MipSlice"]/*' />
	public uint MipSlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV1::FirstArraySlice"]/*' />
	public uint FirstArraySlice;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV1::ArraySize"]/*' />
	public uint ArraySize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TEX2D_ARRAY_UAV1::PlaneSlice"]/*' />
	public uint PlaneSlice;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC1"]/*' />
/// <unmanaged>D3D11_UNORDERED_ACCESS_VIEW_DESC1</unmanaged>
public partial struct UnorderedAccessViewDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC1::Format"]/*' />
	public Graphics.Dxgi.Common.Format Format;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC1::ViewDimension"]/*' />
	public UavDimension ViewDimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_UNORDERED_ACCESS_VIEW_DESC1::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref BufferUav Buffer
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Buffer;
		}
	}

	[UnscopedRef]
	public ref Texture1DUav Texture1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1D;
		}
	}

	[UnscopedRef]
	public ref Texture1DArrayUav Texture1DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture1DArray;
		}
	}

	[UnscopedRef]
	public ref Texture2DUav1 Texture2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2D;
		}
	}

	[UnscopedRef]
	public ref Texture2DArrayUav1 Texture2DArray
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture2DArray;
		}
	}

	[UnscopedRef]
	public ref Texture3DUav Texture3D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Texture3D;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Buffer"]/*' />
		[FieldOffset(0)]
		public BufferUav Buffer;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1D"]/*' />
		[FieldOffset(0)]
		public Texture1DUav Texture1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture1DArray"]/*' />
		[FieldOffset(0)]
		public Texture1DArrayUav Texture1DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2D"]/*' />
		[FieldOffset(0)]
		public Texture2DUav1 Texture2D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture2DArray"]/*' />
		[FieldOffset(0)]
		public Texture2DArrayUav1 Texture2DArray;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Texture3D"]/*' />
		[FieldOffset(0)]
		public Texture3DUav Texture3D;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC1"]/*' />
/// <unmanaged>D3D11_QUERY_DESC1</unmanaged>
public partial struct QueryDescription1
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC1::Query"]/*' />
	public QueryType Query;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC1::MiscFlags"]/*' />
	public QueryMiscFlags MiscFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_DESC1::ContextType"]/*' />
	public ContextType ContextType;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM</unmanaged>
public partial struct FeatureDataVideoDecoderHistogram
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM::DecoderDesc"]/*' />
	public VideoDecoderDescription DecoderDesc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM::Components"]/*' />
	public VideoDecoderHistogramComponentFlags Components;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM::BinCount"]/*' />
	public uint BinCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM::CounterBitDepth"]/*' />
	public uint CounterBitDepth;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2"]/*' />
/// <unmanaged>D3D11_VIDEO_DECODER_BUFFER_DESC2</unmanaged>
public partial struct VideoDecoderBufferDescription2
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::BufferType"]/*' />
	public VideoDecoderBufferType BufferType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::DataOffset"]/*' />
	public uint DataOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::DataSize"]/*' />
	public uint DataSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::pIV"]/*' />
	public unsafe void* pIV;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::IVSize"]/*' />
	public uint IVSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::pSubSampleMappingBlock"]/*' />
	public unsafe VideoDecoderSubSampleMappingBlock* pSubSampleMappingBlock;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::SubSampleMappingCount"]/*' />
	public uint SubSampleMappingCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::cBlocksStripeEncrypted"]/*' />
	public uint cBlocksStripeEncrypted;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VIDEO_DECODER_BUFFER_DESC2::cBlocksStripeClear"]/*' />
	public uint cBlocksStripeClear;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS4"]/*' />
/// <unmanaged>D3D11_FEATURE_DATA_D3D11_OPTIONS4</unmanaged>
public partial struct FeatureDataD3D11Options4
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FEATURE_DATA_D3D11_OPTIONS4::ExtendedNV12SharedTextureSupported"]/*' />
	public Bool32 ExtendedNV12SharedTextureSupported;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC"]/*' />
/// <unmanaged>D3D11_SIGNATURE_PARAMETER_DESC</unmanaged>
public partial struct SignatureParameterDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::SemanticName"]/*' />
	public unsafe sbyte* SemanticName;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::SemanticIndex"]/*' />
	public uint SemanticIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::Register"]/*' />
	public uint Register;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::SystemValueType"]/*' />
	public Graphics.Direct3D.Name SystemValueType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::ComponentType"]/*' />
	public Graphics.Direct3D.RegisterComponentType ComponentType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::Mask"]/*' />
	public byte Mask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::ReadWriteMask"]/*' />
	public byte ReadWriteMask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::Stream"]/*' />
	public uint Stream;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SIGNATURE_PARAMETER_DESC::MinPrecision"]/*' />
	public Graphics.Direct3D.MinPrecision MinPrecision;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_BUFFER_DESC</unmanaged>
public partial struct ShaderBufferDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC::Name"]/*' />
	public unsafe sbyte* Name;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC::Type"]/*' />
	public Graphics.Direct3D.CBufferType Type;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC::Variables"]/*' />
	public uint Variables;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC::Size"]/*' />
	public uint Size;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_BUFFER_DESC::uFlags"]/*' />
	public uint uFlags;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_VARIABLE_DESC</unmanaged>
public partial struct ShaderVariableDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::Name"]/*' />
	public unsafe sbyte* Name;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::StartOffset"]/*' />
	public uint StartOffset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::Size"]/*' />
	public uint Size;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::uFlags"]/*' />
	public uint uFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::DefaultValue"]/*' />
	public unsafe void* DefaultValue;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::StartTexture"]/*' />
	public uint StartTexture;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::TextureSize"]/*' />
	public uint TextureSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::StartSampler"]/*' />
	public uint StartSampler;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_VARIABLE_DESC::SamplerSize"]/*' />
	public uint SamplerSize;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_TYPE_DESC</unmanaged>
public partial struct ShaderTypeDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Class"]/*' />
	public Graphics.Direct3D.ShaderVariableClass Class;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Type"]/*' />
	public Graphics.Direct3D.ShaderVariableType Type;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Rows"]/*' />
	public uint Rows;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Columns"]/*' />
	public uint Columns;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Elements"]/*' />
	public uint Elements;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Members"]/*' />
	public uint Members;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Offset"]/*' />
	public uint Offset;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TYPE_DESC::Name"]/*' />
	public unsafe sbyte* Name;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_DESC</unmanaged>
public partial struct ShaderDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::Version"]/*' />
	public uint Version;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::Creator"]/*' />
	public unsafe sbyte* Creator;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::Flags"]/*' />
	public uint Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::ConstantBuffers"]/*' />
	public uint ConstantBuffers;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::BoundResources"]/*' />
	public uint BoundResources;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::InputParameters"]/*' />
	public uint InputParameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::OutputParameters"]/*' />
	public uint OutputParameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::InstructionCount"]/*' />
	public uint InstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TempRegisterCount"]/*' />
	public uint TempRegisterCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TempArrayCount"]/*' />
	public uint TempArrayCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::DefCount"]/*' />
	public uint DefCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::DclCount"]/*' />
	public uint DclCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TextureNormalInstructions"]/*' />
	public uint TextureNormalInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TextureLoadInstructions"]/*' />
	public uint TextureLoadInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TextureCompInstructions"]/*' />
	public uint TextureCompInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TextureBiasInstructions"]/*' />
	public uint TextureBiasInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TextureGradientInstructions"]/*' />
	public uint TextureGradientInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::FloatInstructionCount"]/*' />
	public uint FloatInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::IntInstructionCount"]/*' />
	public uint IntInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::UintInstructionCount"]/*' />
	public uint UintInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::StaticFlowControlCount"]/*' />
	public uint StaticFlowControlCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::DynamicFlowControlCount"]/*' />
	public uint DynamicFlowControlCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::MacroInstructionCount"]/*' />
	public uint MacroInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::ArrayInstructionCount"]/*' />
	public uint ArrayInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::CutInstructionCount"]/*' />
	public uint CutInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::EmitInstructionCount"]/*' />
	public uint EmitInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::GSOutputTopology"]/*' />
	public Graphics.Direct3D.PrimitiveTopology GSOutputTopology;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::GSMaxOutputVertexCount"]/*' />
	public uint GSMaxOutputVertexCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::InputPrimitive"]/*' />
	public Graphics.Direct3D.Primitive InputPrimitive;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::PatchConstantParameters"]/*' />
	public uint PatchConstantParameters;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::cGSInstanceCount"]/*' />
	public uint cGSInstanceCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::cControlPoints"]/*' />
	public uint cControlPoints;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::HSOutputPrimitive"]/*' />
	public Graphics.Direct3D.TessellatorOutputPrimitive HSOutputPrimitive;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::HSPartitioning"]/*' />
	public Graphics.Direct3D.TessellatorPartitioning HSPartitioning;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::TessellatorDomain"]/*' />
	public Graphics.Direct3D.TessellatorDomain TessellatorDomain;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::cBarrierInstructions"]/*' />
	public uint cBarrierInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::cInterlockedInstructions"]/*' />
	public uint cInterlockedInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_DESC::cTextureStoreInstructions"]/*' />
	public uint cTextureStoreInstructions;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_INPUT_BIND_DESC</unmanaged>
public partial struct ShaderInputBindDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::Name"]/*' />
	public unsafe sbyte* Name;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::Type"]/*' />
	public Graphics.Direct3D.ShaderInputType Type;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::BindPoint"]/*' />
	public uint BindPoint;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::BindCount"]/*' />
	public uint BindCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::uFlags"]/*' />
	public uint uFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::ReturnType"]/*' />
	public Graphics.Direct3D.ResourceReturnType ReturnType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::Dimension"]/*' />
	public Graphics.Direct3D.SrvDimension Dimension;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_INPUT_BIND_DESC::NumSamples"]/*' />
	public uint NumSamples;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_LIBRARY_DESC"]/*' />
/// <unmanaged>D3D11_LIBRARY_DESC</unmanaged>
public partial struct LibraryDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_LIBRARY_DESC::Creator"]/*' />
	public unsafe sbyte* Creator;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_LIBRARY_DESC::Flags"]/*' />
	public uint Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_LIBRARY_DESC::FunctionCount"]/*' />
	public uint FunctionCount;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC"]/*' />
/// <unmanaged>D3D11_FUNCTION_DESC</unmanaged>
public partial struct FunctionDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Version"]/*' />
	public uint Version;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Creator"]/*' />
	public unsafe sbyte* Creator;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Flags"]/*' />
	public uint Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::ConstantBuffers"]/*' />
	public uint ConstantBuffers;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::BoundResources"]/*' />
	public uint BoundResources;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::InstructionCount"]/*' />
	public uint InstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TempRegisterCount"]/*' />
	public uint TempRegisterCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TempArrayCount"]/*' />
	public uint TempArrayCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::DefCount"]/*' />
	public uint DefCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::DclCount"]/*' />
	public uint DclCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TextureNormalInstructions"]/*' />
	public uint TextureNormalInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TextureLoadInstructions"]/*' />
	public uint TextureLoadInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TextureCompInstructions"]/*' />
	public uint TextureCompInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TextureBiasInstructions"]/*' />
	public uint TextureBiasInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::TextureGradientInstructions"]/*' />
	public uint TextureGradientInstructions;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::FloatInstructionCount"]/*' />
	public uint FloatInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::IntInstructionCount"]/*' />
	public uint IntInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::UintInstructionCount"]/*' />
	public uint UintInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::StaticFlowControlCount"]/*' />
	public uint StaticFlowControlCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::DynamicFlowControlCount"]/*' />
	public uint DynamicFlowControlCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::MacroInstructionCount"]/*' />
	public uint MacroInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::ArrayInstructionCount"]/*' />
	public uint ArrayInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::MovInstructionCount"]/*' />
	public uint MovInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::MovcInstructionCount"]/*' />
	public uint MovcInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::ConversionInstructionCount"]/*' />
	public uint ConversionInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::BitwiseInstructionCount"]/*' />
	public uint BitwiseInstructionCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::MinFeatureLevel"]/*' />
	public Graphics.Direct3D.FeatureLevel MinFeatureLevel;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::RequiredFeatureFlags"]/*' />
	public ulong RequiredFeatureFlags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Name"]/*' />
	public unsafe sbyte* Name;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::FunctionParameterCount"]/*' />
	public int FunctionParameterCount;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::HasReturn"]/*' />
	public Bool32 HasReturn;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Has10Level9VertexShader"]/*' />
	public Bool32 Has10Level9VertexShader;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FUNCTION_DESC::Has10Level9PixelShader"]/*' />
	public Bool32 Has10Level9PixelShader;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC"]/*' />
/// <unmanaged>D3D11_PARAMETER_DESC</unmanaged>
public partial struct ParameterDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Name"]/*' />
	public unsafe sbyte* Name;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::SemanticName"]/*' />
	public unsafe sbyte* SemanticName;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Type"]/*' />
	public Graphics.Direct3D.ShaderVariableType Type;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Class"]/*' />
	public Graphics.Direct3D.ShaderVariableClass Class;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Rows"]/*' />
	public uint Rows;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Columns"]/*' />
	public uint Columns;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::InterpolationMode"]/*' />
	public Graphics.Direct3D.InterpolationMode InterpolationMode;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::Flags"]/*' />
	public Graphics.Direct3D.ParameterFlags Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::FirstInRegister"]/*' />
	public uint FirstInRegister;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::FirstInComponent"]/*' />
	public uint FirstInComponent;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::FirstOutRegister"]/*' />
	public uint FirstOutRegister;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PARAMETER_DESC::FirstOutComponent"]/*' />
	public uint FirstOutComponent;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VERTEX_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_VERTEX_SHADER_TRACE_DESC</unmanaged>
public partial struct VertexShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_VERTEX_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_HULL_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_HULL_SHADER_TRACE_DESC</unmanaged>
public partial struct HullShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_HULL_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DOMAIN_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_DOMAIN_SHADER_TRACE_DESC</unmanaged>
public partial struct DomainShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DOMAIN_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_GEOMETRY_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_GEOMETRY_SHADER_TRACE_DESC</unmanaged>
public partial struct GeometryShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_GEOMETRY_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PIXEL_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_PIXEL_SHADER_TRACE_DESC</unmanaged>
public partial struct PixelShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PIXEL_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PIXEL_SHADER_TRACE_DESC::X"]/*' />
	public int X;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PIXEL_SHADER_TRACE_DESC::Y"]/*' />
	public int Y;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_PIXEL_SHADER_TRACE_DESC::SampleMask"]/*' />
	public ulong SampleMask;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COMPUTE_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_COMPUTE_SHADER_TRACE_DESC</unmanaged>
public partial struct ComputeShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COMPUTE_SHADER_TRACE_DESC::Invocation"]/*' />
	public ulong Invocation;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COMPUTE_SHADER_TRACE_DESC::ThreadIDInGroup"]/*' />
	public unsafe fixed uint ThreadIDInGroup[3];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_COMPUTE_SHADER_TRACE_DESC::ThreadGroupID"]/*' />
	public unsafe fixed uint ThreadGroupID[3];
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TRACE_DESC"]/*' />
/// <unmanaged>D3D11_SHADER_TRACE_DESC</unmanaged>
public partial struct ShaderTraceDescription
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TRACE_DESC::Type"]/*' />
	public ShaderType Type;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TRACE_DESC::Flags"]/*' />
	public uint Flags;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_SHADER_TRACE_DESC::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	[UnscopedRef]
	public ref VertexShaderTraceDescription VertexShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.VertexShaderTraceDesc;
		}
	}

	[UnscopedRef]
	public ref HullShaderTraceDescription HullShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.HullShaderTraceDesc;
		}
	}

	[UnscopedRef]
	public ref DomainShaderTraceDescription DomainShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.DomainShaderTraceDesc;
		}
	}

	[UnscopedRef]
	public ref GeometryShaderTraceDescription GeometryShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.GeometryShaderTraceDesc;
		}
	}

	[UnscopedRef]
	public ref PixelShaderTraceDescription PixelShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.PixelShaderTraceDesc;
		}
	}

	[UnscopedRef]
	public ref ComputeShaderTraceDescription ComputeShaderTraceDesc
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.ComputeShaderTraceDesc;
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::VertexShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public VertexShaderTraceDescription VertexShaderTraceDesc;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::HullShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public HullShaderTraceDescription HullShaderTraceDesc;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::DomainShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public DomainShaderTraceDescription DomainShaderTraceDesc;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::GeometryShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public GeometryShaderTraceDescription GeometryShaderTraceDesc;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::PixelShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public PixelShaderTraceDescription PixelShaderTraceDesc;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::ComputeShaderTraceDesc"]/*' />
		[FieldOffset(0)]
		public ComputeShaderTraceDescription ComputeShaderTraceDesc;
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS"]/*' />
/// <unmanaged>D3D11_TRACE_STATS</unmanaged>
public partial struct TraceStats
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::TraceDesc"]/*' />
	public ShaderTraceDescription TraceDesc;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::NumInvocationsInStamp"]/*' />
	public byte NumInvocationsInStamp;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::TargetStampIndex"]/*' />
	public byte TargetStampIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::NumTraceSteps"]/*' />
	public uint NumTraceSteps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::InputMask"]/*' />
	public unsafe fixed byte InputMask[32];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::OutputMask"]/*' />
	public unsafe fixed byte OutputMask[32];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::NumTemps"]/*' />
	public ushort NumTemps;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::MaxIndexableTempIndex"]/*' />
	public ushort MaxIndexableTempIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::IndexableTempSize"]/*' />
	public unsafe fixed ushort IndexableTempSize[4096];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::ImmediateConstantBufferSize"]/*' />
	public ushort ImmediateConstantBufferSize;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelPosition"]/*' />
	public unsafe fixed uint PixelPosition[8];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelCoverageMask"]/*' />
	public unsafe fixed ulong PixelCoverageMask[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelDiscardedMask"]/*' />
	public unsafe fixed ulong PixelDiscardedMask[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelCoverageMaskAfterShader"]/*' />
	public unsafe fixed ulong PixelCoverageMaskAfterShader[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelCoverageMaskAfterA2CSampleMask"]/*' />
	public unsafe fixed ulong PixelCoverageMaskAfterA2CSampleMask[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelCoverageMaskAfterA2CSampleMaskDepth"]/*' />
	public unsafe fixed ulong PixelCoverageMaskAfterA2CSampleMaskDepth[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PixelCoverageMaskAfterA2CSampleMaskDepthStencil"]/*' />
	public unsafe fixed ulong PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PSOutputsDepth"]/*' />
	public Bool32 PSOutputsDepth;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::PSOutputsMask"]/*' />
	public Bool32 PSOutputsMask;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::GSInputPrimitive"]/*' />
	public TraceGSInputPrimitive GSInputPrimitive;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::GSInputsPrimitiveID"]/*' />
	public Bool32 GSInputsPrimitiveID;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::HSOutputPatchConstantMask"]/*' />
	public unsafe fixed byte HSOutputPatchConstantMask[32];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STATS::DSInputPatchConstantMask"]/*' />
	public unsafe fixed byte DSInputPatchConstantMask[32];
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_VALUE"]/*' />
/// <unmanaged>D3D11_TRACE_VALUE</unmanaged>
public partial struct TraceValue
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_VALUE::Bits"]/*' />
	public unsafe fixed uint Bits[4];

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_VALUE::ValidMask"]/*' />
	public byte ValidMask;
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_REGISTER"]/*' />
/// <unmanaged>D3D11_TRACE_REGISTER</unmanaged>
public partial struct TraceRegister
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_REGISTER::RegType"]/*' />
	public TraceRegisterType RegType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_REGISTER::Anonymous"]/*' />
	public _Anonymous_e__Union Anonymous;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_REGISTER::OperandIndex"]/*' />
	public byte OperandIndex;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_REGISTER::Flags"]/*' />
	public byte Flags;

	[UnscopedRef]
	public ref ushort Index1D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return ref Anonymous.Index1D;
		}
	}

	[UnscopedRef]
	public unsafe Span<ushort> Index2D
	{
		[MethodImpl(MethodImplOptions.AggressiveInlining)]
		get
		{
			return MemoryMarshal.CreateSpan(ref Anonymous.Index2D[0], 2);
		}
	}

	[StructLayout(LayoutKind.Explicit)]
	public partial struct _Anonymous_e__Union
	{
		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Index1D"]/*' />
		[FieldOffset(0)]
		public ushort Index1D;

		/// <include file='../Direct3D11.xml' path='doc/member[@name="_Anonymous_e__Union::Index2D"]/*' />
		[FieldOffset(0)]
		public unsafe fixed ushort Index2D[2];
	}
}

/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP"]/*' />
/// <unmanaged>D3D11_TRACE_STEP</unmanaged>
public partial struct TraceStep
{
	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::ID"]/*' />
	public uint ID;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::InstructionActive"]/*' />
	public Bool32 InstructionActive;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::NumRegistersWritten"]/*' />
	public byte NumRegistersWritten;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::NumRegistersRead"]/*' />
	public byte NumRegistersRead;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::MiscOperations"]/*' />
	public ushort MiscOperations;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::OpcodeType"]/*' />
	public uint OpcodeType;

	/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TRACE_STEP::CurrentGlobalCycle"]/*' />
	public ulong CurrentGlobalCycle;
}
