Files
renderdoc/renderdocui/Interop/Enums.cs
T
baldurk c38affcded Initial commit of existing code.
* All renderdoc code up to this point was written by me, history is available by request
2014-05-02 08:33:01 +01:00

468 lines
12 KiB
C#

/******************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2014 Crytek
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
******************************************************************************/
using System;
// from replay_enums.h
namespace renderdoc
{
public enum VarType
{
Float = 0,
Int,
UInt,
Double,
};
public enum FormatComponentType
{
None = 0,
Float,
UNorm,
UNorm_SRGB,
SNorm,
UInt,
SInt,
Depth,
Double,
};
public enum ShaderResourceType
{
None,
Buffer,
Texture1D,
Texture1DArray,
Texture2D,
Texture2DArray,
Texture2DMS,
Texture2DMSArray,
Texture3D,
TextureCube,
TextureCubeArray,
};
public enum SystemAttribute
{
None = 0,
Position,
ClipDistance,
CullDistance,
RTIndex,
ViewportIndex,
VertexIndex,
PrimitiveIndex,
InstanceIndex,
DispatchThreadIndex,
GroupIndex,
GroupFlatIndex,
GroupThreadIndex,
GSInstanceIndex,
OutputControlPointIndex,
DomainLocation,
IsFrontFace,
MSAACoverage,
MSAASampleIndex,
OuterTessFactor,
InsideTessFactor,
ColourOutput,
DepthOutput,
DepthOutputGreaterEqual,
DepthOutputLessEqual,
};
// replay_render.h
public enum OutputType
{
None = 0,
TexDisplay,
MeshDisplay,
};
public enum MeshDataStage
{
Unknown = 0,
VSIn,
VSOut,
GSOut,
};
public enum TextureDisplayOverlay
{
None = 0,
Drawcall,
Wireframe,
DepthBoth,
StencilBoth,
ViewportScissor,
NaN,
Clipping,
};
public enum SpecialFormat
{
Unknown = 0,
BC1,
BC2,
BC3,
BC4,
BC5,
BC6,
BC7,
R10G10B10A2,
R11G11B10,
B5G6R5,
B5G5R5A1,
R9G9B9E5,
B8G8R8A8,
B4G4R4A4,
D24S8,
D32S8,
YUV,
};
public enum APIPipelineStateType
{
D3D11,
OpenGL,
};
public enum PrimitiveTopology
{
Unknown,
PointList,
LineList,
LineStrip,
LineLoop,
TriangleList,
TriangleStrip,
TriangleFan,
LineList_Adj,
LineStrip_Adj,
TriangleList_Adj,
TriangleStrip_Adj,
PatchList,
PatchList_1CPs = PatchList,
PatchList_2CPs,
PatchList_3CPs,
PatchList_4CPs,
PatchList_5CPs,
PatchList_6CPs,
PatchList_7CPs,
PatchList_8CPs,
PatchList_9CPs,
PatchList_10CPs,
PatchList_11CPs,
PatchList_12CPs,
PatchList_13CPs,
PatchList_14CPs,
PatchList_15CPs,
PatchList_16CPs,
PatchList_17CPs,
PatchList_18CPs,
PatchList_19CPs,
PatchList_20CPs,
PatchList_21CPs,
PatchList_22CPs,
PatchList_23CPs,
PatchList_24CPs,
PatchList_25CPs,
PatchList_26CPs,
PatchList_27CPs,
PatchList_28CPs,
PatchList_29CPs,
PatchList_30CPs,
PatchList_31CPs,
PatchList_32CPs,
};
[Flags]
public enum BufferCreationFlags
{
VB = 0x1,
IB = 0x2,
};
[Flags]
public enum TextureCreationFlags
{
SRV = 0x1,
RTV = 0x2,
DSV = 0x4,
UAV = 0x8,
SwapBuffer = 0x10,
};
public enum ShaderStageType
{
Vertex = 0,
Hull,
Tess_Control = Hull,
Domain,
Tess_Eval = Domain,
Geometry,
Pixel,
Fragment = Pixel,
Compute,
};
public enum DebugMessageCategory
{
Defined = 0,
Miscellaneous,
Initialization,
Cleanup,
Compilation,
Creation,
Setting,
Getting,
Manipulation,
Execution,
Shaders,
Deprecated,
Undefined,
Portability,
Performance,
};
public enum DebugMessageSeverity
{
Corruption = 0,
Error,
Warning,
Info,
};
public enum ResourceUsage
{
None,
IA_VB,
IA_IB,
VS_CB,
HS_CB,
DS_CB,
GS_CB,
PS_CB,
CS_CB,
SO,
VS_SRV,
HS_SRV,
DS_SRV,
GS_SRV,
PS_SRV,
CS_SRV,
CS_UAV,
PS_UAV,
OM_RTV,
OM_DSV,
Clear,
};
[Flags]
public enum DrawcallFlags
{
// types
Clear = 0x01,
Drawcall = 0x02,
Dispatch = 0x04,
CmdList = 0x08,
SetMarker = 0x10,
PushMarker = 0x20,
Present = 0x40,
// flags
UseIBuffer = 0x100,
Instanced = 0x200,
Auto = 0x400,
Indirect = 0x800,
};
public enum SolidShadeMode
{
None = 0,
Solid,
Lit,
Tex,
VertCol,
};
public enum TriangleFillMode
{
Solid = 0,
Wireframe,
};
public enum TriangleCullMode
{
None = 0,
Front,
Back,
};
public enum ReplayCreateStatus
{
Success = 0,
UnknownError,
InternalError,
NetworkIOFailed,
FileIOFailed,
FileIncompatibleVersion,
FileCorrupted,
APIUnsupported,
APIInitFailed,
APIIncompatibleVersion,
APIHardwareUnsupported,
};
public enum RemoteMessageType
{
Unknown = 0,
Disconnected,
Busy,
Noop,
NewCapture,
CaptureCopied,
RegisterAPI,
};
public static class EnumString
{
public static string Str(this VarType type)
{
switch (type)
{
case VarType.Double: return "double";
case VarType.Float: return "float";
case VarType.Int: return "int";
case VarType.UInt: return "uint";
}
return "Unknown Type";
}
public static string Str(this ReplayCreateStatus status)
{
switch (status)
{
case ReplayCreateStatus.Success: return "Success";
case ReplayCreateStatus.UnknownError: return "Unknown Error";
case ReplayCreateStatus.InternalError: return "Internal Error";
case ReplayCreateStatus.NetworkIOFailed: return "Network I/O operation failed";
case ReplayCreateStatus.FileIOFailed: return "File I/O operation failed";
case ReplayCreateStatus.FileIncompatibleVersion: return "Logfile is of an incompatible version";
case ReplayCreateStatus.FileCorrupted: return "Logfile data is corrupted";
case ReplayCreateStatus.APIUnsupported: return "API used in logfile is not supported";
case ReplayCreateStatus.APIInitFailed: return "Replay API failed to initialise";
case ReplayCreateStatus.APIIncompatibleVersion: return "API-speciifc data used in logfile is of an incompatible version";
case ReplayCreateStatus.APIHardwareUnsupported: return "Your hardware or software configuration doesn't meet this API's minimum requirements";
}
return "Unknown Error Code";
}
public static string Str(this ResourceUsage usage)
{
switch (usage)
{
case ResourceUsage.IA_VB: return "Vertex Buffer";
case ResourceUsage.IA_IB: return "Index Buffer";
case ResourceUsage.VS_CB: return "VS - Constant Buffer";
case ResourceUsage.GS_CB: return "GS - Constant Buffer";
case ResourceUsage.HS_CB: return "HS - Constant Buffer";
case ResourceUsage.DS_CB: return "DS - Constant Buffer";
case ResourceUsage.CS_CB: return "CS - Constant Buffer";
case ResourceUsage.PS_CB: return "PS - Constant Buffer";
case ResourceUsage.SO: return "Stream Out";
case ResourceUsage.VS_SRV: return "VS - Resource";
case ResourceUsage.GS_SRV: return "GS - Resource";
case ResourceUsage.HS_SRV: return "HS - Resource";
case ResourceUsage.DS_SRV: return "DS - Resource";
case ResourceUsage.CS_SRV: return "CS - Resource";
case ResourceUsage.PS_SRV: return "PS - Resource";
case ResourceUsage.CS_UAV: return "CS - UAV";
case ResourceUsage.PS_UAV: return "PS - UAV";
case ResourceUsage.OM_RTV: return "Rendertarget";
case ResourceUsage.OM_DSV: return "Depthstencil";
case ResourceUsage.Clear: return "Clear";
}
return "Unknown Usage String";
}
public static string Str(this SystemAttribute systemValue)
{
switch (systemValue)
{
case SystemAttribute.None: return "";
case SystemAttribute.Position: return "SV_Position";
case SystemAttribute.ClipDistance: return "SV_ClipDistance";
case SystemAttribute.CullDistance: return "SV_CullDistance";
case SystemAttribute.RTIndex: return "SV_RenderTargetIndex";
case SystemAttribute.ViewportIndex: return "SV_ViewportIndex";
case SystemAttribute.VertexIndex: return "SV_VertexID";
case SystemAttribute.PrimitiveIndex: return "SV_PrimitiveID";
case SystemAttribute.InstanceIndex: return "SV_InstanceID";
case SystemAttribute.DispatchThreadIndex: return "SV_DispatchThreadID";
case SystemAttribute.GroupIndex: return "SV_GroupID";
case SystemAttribute.GroupFlatIndex: return "SV_GroupIndex";
case SystemAttribute.GroupThreadIndex: return "SV_GroupThreadID";
case SystemAttribute.GSInstanceIndex: return "SV_GSInstanceID";
case SystemAttribute.OutputControlPointIndex: return "SV_OutputControlPointID";
case SystemAttribute.DomainLocation: return "SV_DomainLocation";
case SystemAttribute.IsFrontFace: return "SV_IsFrontFace";
case SystemAttribute.MSAACoverage: return "SV_Coverage";
case SystemAttribute.MSAASampleIndex: return "SV_SampleIndex";
case SystemAttribute.OuterTessFactor: return "SV_TessFactor";
case SystemAttribute.InsideTessFactor: return "SV_InsideTessFactor";
case SystemAttribute.ColourOutput: return "SV_Target";
case SystemAttribute.DepthOutput: return "SV_Depth";
case SystemAttribute.DepthOutputGreaterEqual: return "SV_DepthGreaterEqual";
case SystemAttribute.DepthOutputLessEqual: return "SV_DepthLessEqual";
}
return "SV_Unknown";
}
}
}