// ------------------------------------------------------------------------------
// <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.Direct3D.Dxc;

/// <unmanaged>DXC_CP</unmanaged>
public enum DxcCp : uint
{
	/// <unmanaged>DXC_CP_ACP</unmanaged>
	Acp = 0,
	/// <unmanaged>DXC_CP_UTF16</unmanaged>
	Utf16 = 1200,
	/// <unmanaged>DXC_CP_UTF8</unmanaged>
	Utf8 = 65001,
}

/// <unmanaged>DXC_OUT_KIND</unmanaged>
public enum DxcOutKind : int
{
	/// <unmanaged>DXC_OUT_NONE</unmanaged>
	None = 0,
	/// <unmanaged>DXC_OUT_OBJECT</unmanaged>
	Object = 1,
	/// <unmanaged>DXC_OUT_ERRORS</unmanaged>
	Errors = 2,
	/// <unmanaged>DXC_OUT_PDB</unmanaged>
	Pdb = 3,
	/// <unmanaged>DXC_OUT_SHADER_HASH</unmanaged>
	ShaderHash = 4,
	/// <unmanaged>DXC_OUT_DISASSEMBLY</unmanaged>
	Disassembly = 5,
	/// <unmanaged>DXC_OUT_HLSL</unmanaged>
	Hlsl = 6,
	/// <unmanaged>DXC_OUT_TEXT</unmanaged>
	Text = 7,
	/// <unmanaged>DXC_OUT_REFLECTION</unmanaged>
	Reflection = 8,
	/// <unmanaged>DXC_OUT_ROOT_SIGNATURE</unmanaged>
	RootSignature = 9,
	/// <unmanaged>DXC_OUT_EXTRA_OUTPUTS</unmanaged>
	ExtraOutputs = 10,
}
/// <unmanaged>DXC_HASHFLAG</unmanaged>
[Flags]
public enum DxcHashFlags : uint
{
	None = 0,
	/// <unmanaged>DXC_HASHFLAG_INCLUDES_SOURCE</unmanaged>
	IncludesSource = 1,
}

/// <unmanaged>DxcValidatorFlags</unmanaged>
[Flags]
public enum DxcValidatorFlags : uint
{
	None = 0,
	/// <unmanaged>DxcValidatorFlags_Default</unmanaged>
	Default = 0,
	/// <unmanaged>DxcValidatorFlags_InPlaceEdit</unmanaged>
	InPlaceEdit = 1,
	/// <unmanaged>DxcValidatorFlags_RootSignatureOnly</unmanaged>
	RootSignatureOnly = 2,
	/// <unmanaged>DxcValidatorFlags_ModuleOnly</unmanaged>
	ModuleOnly = 4,
	/// <unmanaged>DxcValidatorFlags_ValidMask</unmanaged>
	ValidMask = 7,
}

/// <unmanaged>DxcVersionInfoFlags</unmanaged>
[Flags]
public enum DxcVersionInfoFlags : uint
{
	/// <unmanaged>DxcVersionInfoFlags_None</unmanaged>
	None = 0,
	/// <unmanaged>DxcVersionInfoFlags_Debug</unmanaged>
	Debug = 1,
	/// <unmanaged>DxcVersionInfoFlags_Internal</unmanaged>
	Internal = 2,
}
