/**************************************************************************
 *
 * Copyright 2010 Luca Barbieri
 *
 * 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 (including the
 * next paragraph) 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS 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.
 *
 **************************************************************************/

import "oaidl.idl";
import "ocidl.idl";

typedef const void* LPCVOID;

typedef enum D3D_DRIVER_TYPE
{
	D3D_DRIVER_TYPE_UNKNOWN,
	D3D_DRIVER_TYPE_HARDWARE,
	D3D_DRIVER_TYPE_REFERENCE,
	D3D_DRIVER_TYPE_NULL,
	D3D_DRIVER_TYPE_SOFTWARE,
	D3D_DRIVER_TYPE_WARP,
} D3D_DRIVER_TYPE;

typedef enum D3D_FEATURE_LEVEL
{
	D3D_FEATURE_LEVEL_9_1 = 0x9100,
	D3D_FEATURE_LEVEL_9_2 = 0x9200,
	D3D_FEATURE_LEVEL_9_3 = 0x9300,
	D3D_FEATURE_LEVEL_10_0 = 0xa000,
	D3D_FEATURE_LEVEL_10_1 = 0xa100,
	D3D_FEATURE_LEVEL_11_0 = 0xb000
} D3D_FEATURE_LEVEL;

typedef enum D3D_PRIMITIVE_TOPOLOGY
{
	D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
	D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
	D3D_PRIMITIVE_TOPOLOGY_LINELIST,
	D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
	D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
	D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,

	D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
	D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
	D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
	D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,

	D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST	= 33,
	D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
	D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,

	D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
	D3D10_PRIMITIVE_TOPOLOGY_POINTLIST,
	D3D10_PRIMITIVE_TOPOLOGY_LINELIST,
	D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP,
	D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
	D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,

	D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
	D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
	D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
	D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,

	D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
	D3D11_PRIMITIVE_TOPOLOGY_POINTLIST,
	D3D11_PRIMITIVE_TOPOLOGY_LINELIST,
	D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP,
	D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
	D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,

	D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
	D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
	D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
	D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,

	D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST	= 33,
	D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
	D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,
} D3D_PRIMITIVE_TOPOLOGY;

typedef enum D3D_PRIMITIVE
{
	D3D_PRIMITIVE_UNDEFINED = 0,
	D3D_PRIMITIVE_POINT,
	D3D_PRIMITIVE_LINE,
	D3D_PRIMITIVE_TRIANGLE,

	D3D_PRIMITIVE_LINE_ADJ = 6,
	D3D_PRIMITIVE_TRIANGLE_ADJ,

	D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
	D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
	D3D_PRIMITIVE_32_CONTROL_POINT_PATCH,

	D3D10_PRIMITIVE_UNDEFINED = 0,
	D3D10_PRIMITIVE_POINT,
	D3D10_PRIMITIVE_LINE,
	D3D10_PRIMITIVE_TRIANGLE,

	D3D10_PRIMITIVE_LINE_ADJ = 6,
	D3D10_PRIMITIVE_TRIANGLE_ADJ,

	D3D11_PRIMITIVE_UNDEFINED = 0,
	D3D11_PRIMITIVE_POINT,
	D3D11_PRIMITIVE_LINE,
	D3D11_PRIMITIVE_TRIANGLE,

	D3D11_PRIMITIVE_LINE_ADJ = 6,
	D3D11_PRIMITIVE_TRIANGLE_ADJ,

	D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
	D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH,
	D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH,
} D3D_PRIMITIVE;

typedef enum D3D_SRV_DIMENSION
{
	D3D_SRV_DIMENSION_UNKNOWN = 0,
	D3D_SRV_DIMENSION_BUFFER,
	D3D_SRV_DIMENSION_TEXTURE1D,
	D3D_SRV_DIMENSION_TEXTURE1DARRAY,
	D3D_SRV_DIMENSION_TEXTURE2D,
	D3D_SRV_DIMENSION_TEXTURE2DARRAY,
	D3D_SRV_DIMENSION_TEXTURE2DMS,
	D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
	D3D_SRV_DIMENSION_TEXTURE3D,
	D3D_SRV_DIMENSION_TEXTURECUBE,
	D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
	D3D_SRV_DIMENSION_BUFFEREX,

	D3D10_SRV_DIMENSION_UNKNOWN = 0,
	D3D10_SRV_DIMENSION_BUFFER,
	D3D10_SRV_DIMENSION_TEXTURE1D,
	D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
	D3D10_SRV_DIMENSION_TEXTURE2D,
	D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
	D3D10_SRV_DIMENSION_TEXTURE2DMS,
	D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
	D3D10_SRV_DIMENSION_TEXTURE3D,
	D3D10_SRV_DIMENSION_TEXTURECUBE,

	D3D10_1_SRV_DIMENSION_UNKNOWN = 0,
	D3D10_1_SRV_DIMENSION_BUFFER,
	D3D10_1_SRV_DIMENSION_TEXTURE1D,
	D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY,
	D3D10_1_SRV_DIMENSION_TEXTURE2D,
	D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY,
	D3D10_1_SRV_DIMENSION_TEXTURE2DMS,
	D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY,
	D3D10_1_SRV_DIMENSION_TEXTURE3D,
	D3D10_1_SRV_DIMENSION_TEXTURECUBE,
	D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY,

	D3D11_SRV_DIMENSION_UNKNOWN = 0,
	D3D11_SRV_DIMENSION_BUFFER,
	D3D11_SRV_DIMENSION_TEXTURE1D,
	D3D11_SRV_DIMENSION_TEXTURE1DARRAY,
	D3D11_SRV_DIMENSION_TEXTURE2D,
	D3D11_SRV_DIMENSION_TEXTURE2DARRAY,
	D3D11_SRV_DIMENSION_TEXTURE2DMS,
	D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY,
	D3D11_SRV_DIMENSION_TEXTURE3D,
	D3D11_SRV_DIMENSION_TEXTURECUBE,
	D3D11_SRV_DIMENSION_TEXTURECUBEARRAY,
	D3D11_SRV_DIMENSION_BUFFEREX,
} D3D_SRV_DIMENSION;

typedef struct _D3D_SHADER_MACRO
{
	LPCSTR Name;
	LPCSTR Definition;
} D3D_SHADER_MACRO;

typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;

[object, local, uuid(8ba5fb08-5195-40e2-ac58-0d989c3a0102)]
interface ID3D10Blob : IUnknown
{
	LPVOID GetBufferPointer();
	SIZE_T GetBufferSize();
};

typedef ID3D10Blob* LPD3D10BLOB;
typedef ID3D10Blob ID3DBlob;
typedef ID3DBlob* LPD3DBLOB;

typedef enum _D3D_INCLUDE_TYPE
{
	D3D_INCLUDE_LOCAL = 0,
	D3D_INCLUDE_SYSTEM,

	D3D10_INCLUDE_LOCAL = 0,
	D3D10_INCLUDE_SYSTEM,

	D3D_INCLUDE_FORCE_DWORD = 0x7fffffff,
} D3D_INCLUDE_TYPE;

[object, local]
interface ID3DInclude : IUnknown
{
	HRESULT Open(
		[in] D3D_INCLUDE_TYPE a,
		[in] LPCSTR b,
		[in] LPCVOID c,
		[out] LPCVOID *d,
		[in] UINT *e
	);
	HRESULT Close(
		[in] LPCVOID a
	);
};

typedef enum _D3D_SHADER_VARIABLE_CLASS
{
	D3D_SVC_SCALAR = 0,
	D3D_SVC_VECTOR,
	D3D_SVC_MATRIX_ROWS,
	D3D_SVC_MATRIX_COLUMNS,
	D3D_SVC_OBJECT,
	D3D_SVC_STRUCT,
	D3D_SVC_INTERFACE_CLASS,
	D3D_SVC_INTERFACE_POINTER,

	D3D10_SVC_SCALAR = 0,
	D3D10_SVC_VECTOR,
	D3D10_SVC_MATRIX_ROWS,
	D3D10_SVC_MATRIX_COLUMNS,
	D3D10_SVC_OBJECT,
	D3D10_SVC_STRUCT,
	D3D11_SVC_INTERFACE_CLASS,
	D3D11_SVC_INTERFACE_POINTER,
	D3D_SVC_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_VARIABLE_CLASS;

typedef enum _D3D_SHADER_VARIABLE_FLAGS
{
	D3D_SVF_USERPACKED = 1,
	D3D_SVF_USED = 2,
	D3D_SVF_INTERFACE_POINTER = 4,
	D3D_SVF_INTERFACE_PARAMETER = 8,

	D3D10_SVF_USERPACKED = 1,
	D3D10_SVF_USED = 2,
	D3D10_SVF_INTERFACE_POINTER = 4,
	D3D10_SVF_INTERFACE_PARAMETER = 8,

	D3D_SVF_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_VARIABLE_FLAGS;

typedef enum _D3D_SHADER_VARIABLE_TYPE
{
	D3D_SVT_VOID = 0,
	D3D_SVT_BOOL,
	D3D_SVT_INT,
	D3D_SVT_FLOAT,
	D3D_SVT_STRING,
	D3D_SVT_TEXTURE,
	D3D_SVT_TEXTURE1D,
	D3D_SVT_TEXTURE2D,
	D3D_SVT_TEXTURE3D,
	D3D_SVT_TEXTURECUBE,
	D3D_SVT_SAMPLER,
	D3D_SVT_SAMPLER1D,
	D3D_SVT_SAMPLER2D,
	D3D_SVT_SAMPLER3D,
	D3D_SVT_SAMPLERCUBE,
	D3D_SVT_PIXELSHADER,
	D3D_SVT_VERTEXSHADER,
	D3D_SVT_PIXELFRAGMENT,
	D3D_SVT_VERTEXFRAGMENT,
	D3D_SVT_UINT,
	D3D_SVT_UINT8,
	D3D_SVT_GEOMETRYSHADER,
	D3D_SVT_RASTERIZER,
	D3D_SVT_DEPTHSTENCIL,
	D3D_SVT_BLEND,
	D3D_SVT_BUFFER,
	D3D_SVT_CBUFFER,
	D3D_SVT_TBUFFER,
	D3D_SVT_TEXTURE1DARRAY,
	D3D_SVT_TEXTURE2DARRAY,
	D3D_SVT_RENDERTARGETVIEW,
	D3D_SVT_DEPTHSTENCILVIEW,
	D3D_SVT_TEXTURE2DMS,
	D3D_SVT_TEXTURE2DMSARRAY,
	D3D_SVT_TEXTURECUBEARRAY,
	D3D_SVT_HULLSHADER,
	D3D_SVT_DOMAINSHADER,
	D3D_SVT_INTERFACE_POINTER,
	D3D_SVT_COMPUTESHADER,
	D3D_SVT_DOUBLE,
	D3D_SVT_RWTEXTURE1D,
	D3D_SVT_RWTEXTURE1DARRAY,
	D3D_SVT_RWTEXTURE2D,
	D3D_SVT_RWTEXTURE2DARRAY,
	D3D_SVT_RWTEXTURE3D,
	D3D_SVT_RWBUFFER,
	D3D_SVT_BYTEADDRESS_BUFFER,
	D3D_SVT_RWBYTEADDRESS_BUFFER,
	D3D_SVT_STRUCTURED_BUFFER,
	D3D_SVT_RWSTRUCTURED_BUFFER,
	D3D_SVT_APPEND_STRUCTURED_BUFFER,
	D3D_SVT_CONSUME_STRUCTURED_BUFFER,

	D3D10_SVT_VOID = 0,
	D3D10_SVT_BOOL,
	D3D10_SVT_INT,
	D3D10_SVT_FLOAT,
	D3D10_SVT_STRING,
	D3D10_SVT_TEXTURE,
	D3D10_SVT_TEXTURE1D,
	D3D10_SVT_TEXTURE2D,
	D3D10_SVT_TEXTURE3D,
	D3D10_SVT_TEXTURECUBE,
	D3D10_SVT_SAMPLER,
	D3D10_SVT_SAMPLER1D,
	D3D10_SVT_SAMPLER2D,
	D3D10_SVT_SAMPLER3D,
	D3D10_SVT_SAMPLERCUBE,
	D3D10_SVT_PIXELSHADER,
	D3D10_SVT_VERTEXSHADER,
	D3D10_SVT_PIXELFRAGMENT,
	D3D10_SVT_VERTEXFRAGMENT,
	D3D10_SVT_UINT,
	D3D10_SVT_UINT8,
	D3D10_SVT_GEOMETRYSHADER,
	D3D10_SVT_RASTERIZER,
	D3D10_SVT_DEPTHSTENCIL,
	D3D10_SVT_BLEND,
	D3D10_SVT_BUFFER,
	D3D10_SVT_CBUFFER,
	D3D10_SVT_TBUFFER,
	D3D10_SVT_TEXTURE1DARRAY,
	D3D10_SVT_TEXTURE2DARRAY,
	D3D10_SVT_RENDERTARGETVIEW,
	D3D10_SVT_DEPTHSTENCILVIEW,
	D3D10_SVT_TEXTURE2DMS,
	D3D10_SVT_TEXTURE2DMSARRAY,
	D3D10_SVT_TEXTURECUBEARRAY,

	D3D11_SVT_HULLSHADER,
	D3D11_SVT_DOMAINSHADER,
	D3D11_SVT_INTERFACE_POINTER,
	D3D11_SVT_COMPUTESHADER,
	D3D11_SVT_DOUBLE,
	D3D11_SVT_RWTEXTURE1D,
	D3D11_SVT_RWTEXTURE1DARRAY,
	D3D11_SVT_RWTEXTURE2D,
	D3D11_SVT_RWTEXTURE2DARRAY,
	D3D11_SVT_RWTEXTURE3D,
	D3D11_SVT_RWBUFFER,
	D3D11_SVT_BYTEADDRESS_BUFFER,
	D3D11_SVT_RWBYTEADDRESS_BUFFER,
	D3D11_SVT_STRUCTURED_BUFFER,
	D3D11_SVT_RWSTRUCTURED_BUFFER,
	D3D11_SVT_APPEND_STRUCTURED_BUFFER,
	D3D11_SVT_CONSUME_STRUCTURED_BUFFER,

	D3D_SVT_FORCE_DWORD	= 0x7fffffff
} D3D_SHADER_VARIABLE_TYPE;

typedef enum _D3D_SHADER_INPUT_FLAGS
{
	D3D_SIF_USERPACKED = 1,
	D3D_SIF_COMPARISON_SAMPLER = 2,
	D3D_SIF_TEXTURE_COMPONENT_0 = 4,
	D3D_SIF_TEXTURE_COMPONENT_1 = 8,
	D3D_SIF_TEXTURE_COMPONENTS = 12,

	D3D10_SIF_USERPACKED = 1,
	D3D10_SIF_COMPARISON_SAMPLER = 2,
	D3D10_SIF_TEXTURE_COMPONENT_0 = 4,
	D3D10_SIF_TEXTURE_COMPONENT_1 = 8,
	D3D10_SIF_TEXTURE_COMPONENTS = 12,

	D3D_SIF_FORCE_DWORD	= 0x7fffffff
	} 	D3D_SHADER_INPUT_FLAGS;

typedef enum _D3D_SHADER_INPUT_TYPE
{
	D3D_SIT_CBUFFER = 0,
	D3D_SIT_TBUFFER,
	D3D_SIT_TEXTURE,
	D3D_SIT_SAMPLER,
	D3D_SIT_UAV_RWTYPED,
	D3D_SIT_STRUCTURED,
	D3D_SIT_UAV_RWSTRUCTURED,
	D3D_SIT_BYTEADDRESS,
	D3D_SIT_UAV_RWBYTEADDRESS,
	D3D_SIT_UAV_APPEND_STRUCTURED,
	D3D_SIT_UAV_CONSUME_STRUCTURED,
	D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
	
	D3D10_SIT_CBUFFER = 0,
	D3D10_SIT_TBUFFER,
	D3D10_SIT_TEXTURE,
	D3D10_SIT_SAMPLER,

	D3D11_SIT_UAV_RWTYPED,
	D3D11_SIT_STRUCTURED,
	D3D11_SIT_UAV_RWSTRUCTURED,
	D3D11_SIT_BYTEADDRESS,
	D3D11_SIT_UAV_RWBYTEADDRESS,
	D3D11_SIT_UAV_APPEND_STRUCTURED,
	D3D11_SIT_UAV_CONSUME_STRUCTURED,
	D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
	} 	D3D_SHADER_INPUT_TYPE;

typedef enum _D3D_SHADER_CBUFFER_FLAGS
{
	D3D_CBF_USERPACKED = 1,

	D3D10_CBF_USERPACKED = 1,

	D3D_CBF_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_CBUFFER_FLAGS;

typedef enum _D3D_CBUFFER_TYPE
{
	D3D_CT_CBUFFER = 0,
	D3D_CT_TBUFFER,
	D3D_CT_INTERFACE_POINTERS,
	D3D_CT_RESOURCE_BIND_INFO,

	D3D10_CT_CBUFFER = 0,
	D3D10_CT_TBUFFER,

	D3D11_CT_CBUFFER = 0,
	D3D11_CT_TBUFFER,
	D3D11_CT_INTERFACE_POINTERS,
	D3D11_CT_RESOURCE_BIND_INFO,
} D3D_CBUFFER_TYPE;

typedef enum D3D_NAME
{
	D3D_NAME_UNDEFINED = 0,
	D3D_NAME_POSITION,
	D3D_NAME_CLIP_DISTANCE,
	D3D_NAME_CULL_DISTANCE,
	D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
	D3D_NAME_VIEWPORT_ARRAY_INDEX,
	D3D_NAME_VERTEX_ID,
	D3D_NAME_PRIMITIVE_ID,
	D3D_NAME_INSTANCE_ID,
	D3D_NAME_IS_FRONT_FACE,
	D3D_NAME_SAMPLE_INDEX,
	D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
	D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
	D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
	D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
	D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
	D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,

	D3D_NAME_TARGET = 64,
	D3D_NAME_DEPTH,
	D3D_NAME_COVERAGE,
	D3D_NAME_DEPTH_GREATER_EQUAL,
	D3D_NAME_DEPTH_LESS_EQUAL,

	D3D10_NAME_UNDEFINED = 0,
	D3D10_NAME_POSITION,
	D3D10_NAME_CLIP_DISTANCE,
	D3D10_NAME_CULL_DISTANCE,
	D3D10_NAME_RENDER_TARGET_ARRAY_INDEX,
	D3D10_NAME_VIEWPORT_ARRAY_INDEX,
	D3D10_NAME_VERTEX_ID,
	D3D10_NAME_PRIMITIVE_ID,
	D3D10_NAME_INSTANCE_ID,
	D3D10_NAME_IS_FRONT_FACE,
	D3D10_NAME_SAMPLE_INDEX,

	D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
	D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
	D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR,
	D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
	D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
	D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR,

	D3D10_NAME_TARGET = 64,
	D3D10_NAME_DEPTH	,
	D3D10_NAME_COVERAGE,

	D3D11_NAME_DEPTH_GREATER_EQUAL,
	D3D11_NAME_DEPTH_LESS_EQUAL,
} D3D_NAME;

typedef enum D3D_RESOURCE_RETURN_TYPE
{
	D3D_RETURN_TYPE_UNORM = 1,
	D3D_RETURN_TYPE_SNORM,
	D3D_RETURN_TYPE_SINT,
	D3D_RETURN_TYPE_UINT,
	D3D_RETURN_TYPE_FLOAT,
	D3D_RETURN_TYPE_MIXED,
	D3D_RETURN_TYPE_DOUBLE,
	D3D_RETURN_TYPE_CONTINUED,

	D3D10_RETURN_TYPE_UNORM = 1,
	D3D10_RETURN_TYPE_SNORM,
	D3D10_RETURN_TYPE_SINT,
	D3D10_RETURN_TYPE_UINT,
	D3D10_RETURN_TYPE_FLOAT,
	D3D10_RETURN_TYPE_MIXED,

	D3D11_RETURN_TYPE_UNORM = 1,
	D3D11_RETURN_TYPE_SNORM,
	D3D11_RETURN_TYPE_SINT,
	D3D11_RETURN_TYPE_UINT,
	D3D11_RETURN_TYPE_FLOAT,
	D3D11_RETURN_TYPE_MIXED,
	D3D11_RETURN_TYPE_DOUBLE,
	D3D11_RETURN_TYPE_CONTINUED,
} D3D_RESOURCE_RETURN_TYPE;

typedef enum D3D_REGISTER_COMPONENT_TYPE
{
	D3D_REGISTER_COMPONENT_UNKNOWN = 0,
	D3D_REGISTER_COMPONENT_UINT32,
	D3D_REGISTER_COMPONENT_SINT32,
	D3D_REGISTER_COMPONENT_FLOAT32,

	D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
	D3D10_REGISTER_COMPONENT_UINT32,
	D3D10_REGISTER_COMPONENT_SINT32,
	D3D10_REGISTER_COMPONENT_FLOAT32,
} D3D_REGISTER_COMPONENT_TYPE;

typedef enum D3D_TESSELLATOR_DOMAIN
{
	D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
	D3D_TESSELLATOR_DOMAIN_ISOLINE,
	D3D_TESSELLATOR_DOMAIN_TRI,
	D3D_TESSELLATOR_DOMAIN_QUAD,

	D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
	D3D11_TESSELLATOR_DOMAIN_ISOLINE,
	D3D11_TESSELLATOR_DOMAIN_TRI,
	D3D11_TESSELLATOR_DOMAIN_QUAD,
} D3D_TESSELLATOR_DOMAIN;

typedef enum D3D_TESSELLATOR_PARTITIONING
{
	D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
	D3D_TESSELLATOR_PARTITIONING_INTEGER,
	D3D_TESSELLATOR_PARTITIONING_POW2,
	D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
	D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,

	D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
	D3D11_TESSELLATOR_PARTITIONING_INTEGER,
	D3D11_TESSELLATOR_PARTITIONING_POW2,
	D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
	D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
} D3D_TESSELLATOR_PARTITIONING;

typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
{
	D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
	D3D_TESSELLATOR_OUTPUT_POINT,
	D3D_TESSELLATOR_OUTPUT_LINE,
	D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
	D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW,

	D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
	D3D11_TESSELLATOR_OUTPUT_POINT,
	D3D11_TESSELLATOR_OUTPUT_LINE,
	D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW,
	D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
} D3D_TESSELLATOR_OUTPUT_PRIMITIVE;

