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: