File Annotation

Not logged in
9b639cf2d6 2015-05-05        kinaba: /***********************************************************************\
9b639cf2d6 2015-05-05        kinaba: *                             d3d10shader.d                             *
9b639cf2d6 2015-05-05        kinaba: *                                                                       *
9b639cf2d6 2015-05-05        kinaba: *                       Windows API header module                       *
9b639cf2d6 2015-05-05        kinaba: *                                                                       *
9b639cf2d6 2015-05-05        kinaba: *                       Placed into public domain                       *
9b639cf2d6 2015-05-05        kinaba: \***********************************************************************/
9b639cf2d6 2015-05-05        kinaba: module win32.directx.d3d10shader;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: private import win32.windows;
9b639cf2d6 2015-05-05        kinaba: private import win32.directx.d3d10;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: uint D3D10_TX_VERSION(uint _Major, uint _Minor) {
9b639cf2d6 2015-05-05        kinaba: 	return ('T' << 24) | ('X' << 16) | (_Major << 8) | _Minor;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_DEBUG							= 1 << 0;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_SKIP_VALIDATION					= 1 << 1;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_SKIP_OPTIMIZATION				= 1 << 2;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_PACK_MATRIX_ROW_MAJOR			= 1 << 3;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR			= 1 << 4;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_PARTIAL_PRECISION				= 1 << 5;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT			= 1 << 6;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT			= 1 << 7;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_NO_PRESHADER						= 1 << 8;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_AVOID_FLOW_CONTROL				= 1 << 9;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_PREFER_FLOW_CONTROL				= 1 << 10;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_ENABLE_STRICTNESS				= 1 << 11;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY	= 1 << 12;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_IEEE_STRICTNESS					= 1 << 13;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_OPTIMIZATION_LEVEL0				= 1 << 14;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_OPTIMIZATION_LEVEL1				= 0;
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_OPTIMIZATION_LEVEL2				= (1 << 14) | (1 << 15);
9b639cf2d6 2015-05-05        kinaba: const D3D10_SHADER_OPTIMIZATION_LEVEL3				= 1 << 15;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_MACRO {
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR Name;
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR Definition;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_VARIABLE_CLASS {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_SCALAR,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_VECTOR,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_MATRIX_ROWS,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_MATRIX_COLUMNS,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_OBJECT,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_STRUCT,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVC_FORCE_DWORD = 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_VARIABLE_FLAGS {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVF_USERPACKED	= 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVF_USED			= 2,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVF_FORCE_DWORD	= 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_VARIABLE_TYPE {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_VOID = 0,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_BOOL = 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_INT = 2,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_FLOAT = 3,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_STRING = 4,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE = 5,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE1D = 6,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE2D = 7,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE3D = 8,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURECUBE = 9,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_SAMPLER = 10,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_PIXELSHADER = 15,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_VERTEXSHADER = 16,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_UINT = 19,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_UINT8 = 20,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_GEOMETRYSHADER = 21,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_RASTERIZER = 22,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_DEPTHSTENCIL = 23,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_BLEND = 24,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_BUFFER = 25,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_CBUFFER = 26,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TBUFFER = 27,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE1DARRAY = 28,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE2DARRAY = 29,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_RENDERTARGETVIEW = 30,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_DEPTHSTENCILVIEW = 31,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE2DMS = 32,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURE2DMSARRAY = 33,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_TEXTURECUBEARRAY = 34,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SVT_FORCE_DWORD = 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_INPUT_FLAGS {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_USERPACKED = 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_COMPARISON_SAMPLER = 2,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_TEXTURE_COMPONENT_0 = 4,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_TEXTURE_COMPONENT_1 = 8,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_TEXTURE_COMPONENTS = 12,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIF_FORCE_DWORD = 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_INPUT_TYPE {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIT_CBUFFER,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIT_TBUFFER,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIT_TEXTURE,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SIT_SAMPLER
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_SHADER_CBUFFER_FLAGS {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_CBF_USERPACKED = 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_CBF_FORCE_DWORD = 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_CBUFFER_TYPE {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_CT_CBUFFER,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_CT_TBUFFER
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_NAME {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_UNDEFINED = 0,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_POSITION = 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_CLIP_DISTANCE = 2,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_CULL_DISTANCE = 3,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_VERTEX_ID = 6,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_PRIMITIVE_ID = 7,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_INSTANCE_ID = 8,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_IS_FRONT_FACE = 9,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_SAMPLE_INDEX = 10,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_TARGET = 64,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_DEPTH = 65,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_NAME_COVERAGE = 66
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_RESOURCE_RETURN_TYPE {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_UNORM = 1,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_SNORM,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_SINT,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_UINT,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_FLOAT,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RETURN_TYPE_MIXED
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_REGISTER_COMPONENT_TYPE {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_REGISTER_COMPONENT_UINT32,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_REGISTER_COMPONENT_SINT32,
9b639cf2d6 2015-05-05        kinaba: 	D3D10_REGISTER_COMPONENT_FLOAT32
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3D10_INCLUDE_TYPE {
9b639cf2d6 2015-05-05        kinaba:     D3D10_INCLUDE_LOCAL,
9b639cf2d6 2015-05-05        kinaba:     D3D10_INCLUDE_SYSTEM,
9b639cf2d6 2015-05-05        kinaba:     D3D10_INCLUDE_FORCE_DWORD = 0x7fffffff
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3D10Include {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Open(D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Close(LPCVOID pData);
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_DESC {
9b639cf2d6 2015-05-05        kinaba: 	UINT	Version;
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR	Creator;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Flags;
9b639cf2d6 2015-05-05        kinaba: 	UINT	ConstantBuffers;
9b639cf2d6 2015-05-05        kinaba: 	UINT	BoundResources;
9b639cf2d6 2015-05-05        kinaba: 	UINT	InputParameters;
9b639cf2d6 2015-05-05        kinaba: 	UINT	OutputParameters;
9b639cf2d6 2015-05-05        kinaba: 	UINT	InstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TempRegisterCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TempArrayCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	DefCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	DclCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TextureNormalInstructions;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TextureLoadInstructions;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TextureCompInstructions;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TextureBiasInstructions;
9b639cf2d6 2015-05-05        kinaba: 	UINT	TextureGradientInstructions;
9b639cf2d6 2015-05-05        kinaba: 	UINT	FloatInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	IntInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	UintInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	StaticFlowControlCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	DynamicFlowControlCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	MacroInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	ArrayInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	CutInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	EmitInstructionCount;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_PRIMITIVE_TOPOLOGY	GSOutputTopology;
9b639cf2d6 2015-05-05        kinaba: 	UINT	GSMaxOutputVertexCount;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_BUFFER_DESC {
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR				Name;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_CBUFFER_TYPE	Type;
9b639cf2d6 2015-05-05        kinaba: 	UINT				Variables;
9b639cf2d6 2015-05-05        kinaba: 	UINT				Size;
9b639cf2d6 2015-05-05        kinaba: 	UINT				uFlags;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_VARIABLE_DESC {
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR	Name;
9b639cf2d6 2015-05-05        kinaba: 	UINT	StartOffset;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Size;
9b639cf2d6 2015-05-05        kinaba: 	UINT	uFlags;
9b639cf2d6 2015-05-05        kinaba: 	LPVOID	DefaultValue;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_TYPE_DESC {
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SHADER_VARIABLE_CLASS	Class;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SHADER_VARIABLE_TYPE	Type;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Rows;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Columns;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Elements;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Members;
9b639cf2d6 2015-05-05        kinaba: 	UINT	Offset;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SHADER_INPUT_BIND_DESC {
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR	Name;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SHADER_INPUT_TYPE	Type;
9b639cf2d6 2015-05-05        kinaba: 	UINT	BindPoint;
9b639cf2d6 2015-05-05        kinaba: 	UINT	BindCount;
9b639cf2d6 2015-05-05        kinaba: 	UINT	uFlags;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_RESOURCE_RETURN_TYPE	ReturnType;
9b639cf2d6 2015-05-05        kinaba: 	D3D10_SRV_DIMENSION	Dimension;
9b639cf2d6 2015-05-05        kinaba: 	UINT	NumSamples;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3D10_SIGNATURE_PARAMETER_DESC {
9b639cf2d6 2015-05-05        kinaba:     LPCSTR	SemanticName;
9b639cf2d6 2015-05-05        kinaba:     UINT	SemanticIndex;
9b639cf2d6 2015-05-05        kinaba:     UINT	Register;
9b639cf2d6 2015-05-05        kinaba:     D3D10_NAME	SystemValueType;
9b639cf2d6 2015-05-05        kinaba:     D3D10_REGISTER_COMPONENT_TYPE	ComponentType;
9b639cf2d6 2015-05-05        kinaba:     BYTE	Mask;
9b639cf2d6 2015-05-05        kinaba:     BYTE	ReadWriteMask;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3D10ShaderReflectionType = {0xc530ad7d, 0x9b16, 0x4395, [0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3D10ShaderReflectionType {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDesc(D3D10_SHADER_TYPE_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionType* GetMemberTypeByIndex(UINT Index);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionType* GetMemberTypeByName(LPCSTR Name);
9b639cf2d6 2015-05-05        kinaba: 	LPCSTR GetMemberTypeName(UINT Index);
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3D10ShaderReflectionVariable = {0x1bf63c95, 0x2650, 0x405d, [0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3D10ShaderReflectionVariable {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDesc(D3D10_SHADER_VARIABLE_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionType* GetType();
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3D10ShaderReflectionConstantBuffer = {0x66c66a94, 0xdddd, 0x4b62, [0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3D10ShaderReflectionConstantBuffer {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDesc(D3D10_SHADER_BUFFER_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionVariable* GetVariableByIndex(UINT Index);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionVariable* GetVariableByName(LPCSTR Name);
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3D10ShaderReflection = {0xd40e20b6, 0xf8f7, 0x42ad, [0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3D10ShaderReflection : IUnknown {
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT QueryInterface(REFIID iid, LPVOID* ppv);
9b639cf2d6 2015-05-05        kinaba: 	ULONG AddRef();
9b639cf2d6 2015-05-05        kinaba: 	ULONG Release();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDesc(D3D10_SHADER_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex(UINT Index);
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName(LPCSTR Name);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetResourceBindingDesc(UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetInputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetOutputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10CompileShader(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob* ppShader, ID3D10Blob* ppErrorMsgs);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10DisassembleShader(void* pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob* ppDisassembly);
9b639cf2d6 2015-05-05        kinaba: LPCSTR D3D10GetPixelShaderProfile(ID3D10Device pDevice);
9b639cf2d6 2015-05-05        kinaba: LPCSTR D3D10GetVertexShaderProfile(ID3D10Device pDevice);
9b639cf2d6 2015-05-05        kinaba: LPCSTR D3D10GetGeometryShaderProfile(ID3D10Device pDevice);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10ReflectShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection* ppReflector);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10PreprocessShader(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include pInclude, ID3D10Blob* ppShaderText, ID3D10Blob* ppErrorMsgs);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10GetInputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10GetOutputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10GetInputAndOutputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
9b639cf2d6 2015-05-05        kinaba: HRESULT D3D10GetShaderDebugInfo(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppDebugInfo);
9b639cf2d6 2015-05-05        kinaba: