----------------------------------------
-- File : d3d10shader.ads --
-- Translator:Dongfeng.Gu,2018/10/21 --
-- Mail: 515639@qq.com --
-- Progress:100% --
----------------------------------------
with win32; use win32;
with win32.winnt; use win32.winnt;
with win32.windef; use win32.windef;
with win32.rpcdce; use win32.rpcdce;
with win32.Objbase; use win32.Objbase;
with Interfaces.C;
with d3d10; use d3d10;
with d3d10misc; use d3d10misc;
package D3D10shader is
function Shift_Left(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
function Lsh(A:dword;B:Natural) return dword is (Shift_Left(A,B));
function Shift_Right(A:dword;B:Natural) return dword with import,convention=>Intrinsic;
function Rsh(A:dword;B:Natural) return dword is (Shift_Right(A,B));
use type Interfaces.C.unsigned_long;
function D3D10_TX_VERSION(Major,Minor:DWORD) return dword is(Lsh(Character'Pos('T') ,24) or Lsh(Character'pos('X'),16) or Lsh((Major),8) or (Minor));
D3D10_SHADER_DEBUG : constant dword:= Lsh( 1 , 0);
D3D10_SHADER_SKIP_VALIDATION : constant dword:= Lsh( 1 , 1);
D3D10_SHADER_SKIP_OPTIMIZATION : constant dword:= Lsh( 1 , 2);
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR : constant dword:= Lsh( 1 , 3);
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR : constant dword:= Lsh( 1 , 4);
D3D10_SHADER_PARTIAL_PRECISION : constant dword:= Lsh( 1 , 5);
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT : constant dword:= Lsh( 1 , 6);
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT : constant dword:= Lsh( 1 , 7);
D3D10_SHADER_NO_PRESHADER : constant dword:= Lsh( 1 , 8);
D3D10_SHADER_AVOID_FLOW_CONTROL : constant dword:= Lsh( 1 , 9);
D3D10_SHADER_PREFER_FLOW_CONTROL : constant dword:= Lsh( 1 , 10);
D3D10_SHADER_ENABLE_STRICTNESS : constant dword:= Lsh( 1 , 11);
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY : constant dword:= Lsh( 1 , 12);
D3D10_SHADER_IEEE_STRICTNESS : constant dword:= Lsh( 1 , 13);
D3D10_SHADER_WARNINGS_ARE_ERRORS : constant dword:= Lsh( 1 , 18);
D3D10_SHADER_OPTIMIZATION_LEVEL0 : constant dword:= Lsh( 1 , 14);
D3D10_SHADER_OPTIMIZATION_LEVEL1 : constant := 0;
D3D10_SHADER_OPTIMIZATION_LEVEL2 : constant dword:= (Lsh( 1 , 14) or Lsh( 1 , 15));
D3D10_SHADER_OPTIMIZATION_LEVEL3 : constant dword:= Lsh( 1 , 15);
type tagD3D10_SHADER_MACRO is record
Name:LPCSTR;
Definition:LPCSTR;
end record;
subtype D3D10_SHADER_MACRO is tagD3D10_SHADER_MACRO;
type LPCD3D10_SHADER_MACRO is access constant tagD3D10_SHADER_MACRO;
type LPD3D10_SHADER_MACRO is access all tagD3D10_SHADER_MACRO;
type tagD3D10_SHADER_VARIABLE_CLASS is (D3D10_SVC_SCALAR,
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,
D3D10_SVC_FORCE_DWORD);
for tagD3D10_SHADER_VARIABLE_CLASS use (D3D10_SVC_SCALAR=>0,
D3D10_SVC_VECTOR=>1,
D3D10_SVC_MATRIX_ROWS=>2,
D3D10_SVC_MATRIX_COLUMNS=>3,
D3D10_SVC_OBJECT=>4,
D3D10_SVC_STRUCT=>5,
D3D11_SVC_INTERFACE_CLASS=>6,
D3D11_SVC_INTERFACE_POINTER=>7,
D3D10_SVC_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_VARIABLE_CLASS is tagD3D10_SHADER_VARIABLE_CLASS;
type LPD3D10_SHADER_VARIABLE_CLASS is access tagD3D10_SHADER_VARIABLE_CLASS;
type tagD3D10_SHADER_VARIABLE_FLAGS is (D3D10_SVF_USERPACKED,
D3D10_SVF_USED,
D3D11_SVF_INTERFACE_POINTER,
D3D11_SVF_INTERFACE_PARAMETER,
D3D10_SVF_FORCE_DWORD);
for tagD3D10_SHADER_VARIABLE_FLAGS use (D3D10_SVF_USERPACKED=>1,
D3D10_SVF_USED=>2,
D3D11_SVF_INTERFACE_POINTER=>4,
D3D11_SVF_INTERFACE_PARAMETER=>8,
D3D10_SVF_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_VARIABLE_FLAGS is tagD3D10_SHADER_VARIABLE_FLAGS;
type LPD3D10_SHADER_VARIABLE_FLAGS is access tagD3D10_SHADER_VARIABLE_FLAGS;
type tagD3D10_SHADER_VARIABLE_TYPE is (D3D10_SVT_VOID,
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_PIXELSHADER,
D3D10_SVT_VERTEXSHADER,
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,
D3D10_SVT_FORCE_DWORD);
for tagD3D10_SHADER_VARIABLE_TYPE use (D3D10_SVT_VOID=>0,
D3D10_SVT_BOOL=>1,
D3D10_SVT_INT=>2,
D3D10_SVT_FLOAT=>3,
D3D10_SVT_STRING=>4,
D3D10_SVT_TEXTURE=>5,
D3D10_SVT_TEXTURE1D=>6,
D3D10_SVT_TEXTURE2D=>7,
D3D10_SVT_TEXTURE3D=>8,
D3D10_SVT_TEXTURECUBE=>9,
D3D10_SVT_SAMPLER=>10,
D3D10_SVT_PIXELSHADER=>15,
D3D10_SVT_VERTEXSHADER=>16,
D3D10_SVT_UINT=>19,
D3D10_SVT_UINT8=>20,
D3D10_SVT_GEOMETRYSHADER=>21,
D3D10_SVT_RASTERIZER=>22,
D3D10_SVT_DEPTHSTENCIL=>23,
D3D10_SVT_BLEND=>24,
D3D10_SVT_BUFFER=>25,
D3D10_SVT_CBUFFER=>26,
D3D10_SVT_TBUFFER=>27,
D3D10_SVT_TEXTURE1DARRAY=>28,
D3D10_SVT_TEXTURE2DARRAY=>29,
D3D10_SVT_RENDERTARGETVIEW=>30,
D3D10_SVT_DEPTHSTENCILVIEW=>31,
D3D10_SVT_TEXTURE2DMS=>32,
D3D10_SVT_TEXTURE2DMSARRAY=>33,
D3D10_SVT_TEXTURECUBEARRAY=>34,
D3D11_SVT_HULLSHADER=>35,
D3D11_SVT_DOMAINSHADER=>36,
D3D11_SVT_INTERFACE_POINTER=>37,
D3D11_SVT_COMPUTESHADER=>38,
D3D11_SVT_DOUBLE=>39,
D3D11_SVT_RWTEXTURE1D=>40,
D3D11_SVT_RWTEXTURE1DARRAY=>41,
D3D11_SVT_RWTEXTURE2D=>42,
D3D11_SVT_RWTEXTURE2DARRAY=>43,
D3D11_SVT_RWTEXTURE3D=>44,
D3D11_SVT_RWBUFFER=>45,
D3D11_SVT_BYTEADDRESS_BUFFER=>46,
D3D11_SVT_RWBYTEADDRESS_BUFFER=>47,
D3D11_SVT_STRUCTURED_BUFFER=>48,
D3D11_SVT_RWSTRUCTURED_BUFFER=>49,
D3D11_SVT_APPEND_STRUCTURED_BUFFER=>50,
D3D11_SVT_CONSUME_STRUCTURED_BUFFER=>51,
D3D10_SVT_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_VARIABLE_TYPE is tagD3D10_SHADER_VARIABLE_TYPE;
type LPD3D10_SHADER_VARIABLE_TYPE is access tagD3D10_SHADER_VARIABLE_TYPE;
type tagD3D10_SHADER_INPUT_FLAGS is (D3D10_SIF_USERPACKED,
D3D10_SIF_COMPARISON_SAMPLER,
D3D10_SIF_TEXTURE_COMPONENT_0,
D3D10_SIF_TEXTURE_COMPONENT_1,
D3D10_SIF_TEXTURE_COMPONENTS,
D3D10_SIF_FORCE_DWORD);
for tagD3D10_SHADER_INPUT_FLAGS use (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,
D3D10_SIF_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_INPUT_FLAGS is tagD3D10_SHADER_INPUT_FLAGS;
type LPD3D10_SHADER_INPUT_FLAGS is access tagD3D10_SHADER_INPUT_FLAGS;
type tagD3D10_SHADER_INPUT_TYPE is (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);
subtype D3D10_SHADER_INPUT_TYPE is tagD3D10_SHADER_INPUT_TYPE;
type LPD3D10_SHADER_INPUT_TYPE is access tagD3D10_SHADER_INPUT_TYPE;
type tagD3D10_SHADER_CBUFFER_FLAGS is (D3D10_CBF_USERPACKED,
D3D10_CBF_FORCE_DWORD);
for tagD3D10_SHADER_CBUFFER_FLAGS use (D3D10_CBF_USERPACKED=>1,
D3D10_CBF_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_CBUFFER_FLAGS is tagD3D10_SHADER_CBUFFER_FLAGS;
type LPD3D10_SHADER_CBUFFER_FLAGS is access tagD3D10_SHADER_CBUFFER_FLAGS;
type tagD3D10_CBUFFER_TYPE is (D3D10_CT_CBUFFER,
D3D10_CT_TBUFFER);
subtype D3D10_CBUFFER_TYPE is tagD3D10_CBUFFER_TYPE;
type LPD3D10_CBUFFER_TYPE is access tagD3D10_CBUFFER_TYPE;
type tagD3D10_NAME is (D3D10_NAME_UNDEFINED,
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,
D3D10_NAME_DEPTH,
D3D10_NAME_COVERAGE,
D3D11_NAME_DEPTH_GREATER_EQUAL,
D3D11_NAME_DEPTH_LESS_EQUAL);
for tagD3D10_NAME use (D3D10_NAME_UNDEFINED=>0,
D3D10_NAME_POSITION=>1,
D3D10_NAME_CLIP_DISTANCE=>2,
D3D10_NAME_CULL_DISTANCE=>3,
D3D10_NAME_RENDER_TARGET_ARRAY_INDEX=>4,
D3D10_NAME_VIEWPORT_ARRAY_INDEX=>5,
D3D10_NAME_VERTEX_ID=>6,
D3D10_NAME_PRIMITIVE_ID=>7,
D3D10_NAME_INSTANCE_ID=>8,
D3D10_NAME_IS_FRONT_FACE=>9,
D3D10_NAME_SAMPLE_INDEX=>10,
D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR=>11,
D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR=>12,
D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR=>13,
D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR=>14,
D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR=>15,
D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR=>16,
D3D10_NAME_TARGET=>64,
D3D10_NAME_DEPTH=>65,
D3D10_NAME_COVERAGE=>66,
D3D11_NAME_DEPTH_GREATER_EQUAL=>67,
D3D11_NAME_DEPTH_LESS_EQUAL=>68);
subtype D3D10_NAME is tagD3D10_NAME;
type LPD3D10_NAME is access tagD3D10_NAME;
type D3D10_RESOURCE_RETURN_TYPE is (D3D10_RETURN_TYPE_UNORM,
D3D10_RETURN_TYPE_SNORM,
D3D10_RETURN_TYPE_SINT,
D3D10_RETURN_TYPE_UINT,
D3D10_RETURN_TYPE_FLOAT,
D3D10_RETURN_TYPE_MIXED);
for D3D10_RESOURCE_RETURN_TYPE use (D3D10_RETURN_TYPE_UNORM=>1,
D3D10_RETURN_TYPE_SNORM=>2,
D3D10_RETURN_TYPE_SINT=>3,
D3D10_RETURN_TYPE_UINT=>4,
D3D10_RETURN_TYPE_FLOAT=>5,
D3D10_RETURN_TYPE_MIXED=>6);
type LPD3D10_RESOURCE_RETURN_TYPE is access D3D10_RESOURCE_RETURN_TYPE;
type D3D10_REGISTER_COMPONENT_TYPE is (D3D10_REGISTER_COMPONENT_UNKNOWN,
D3D10_REGISTER_COMPONENT_UINT32,
D3D10_REGISTER_COMPONENT_SINT32,
D3D10_REGISTER_COMPONENT_FLOAT32);
for D3D10_REGISTER_COMPONENT_TYPE use (D3D10_REGISTER_COMPONENT_UNKNOWN=>0,
D3D10_REGISTER_COMPONENT_UINT32=>1,
D3D10_REGISTER_COMPONENT_SINT32=>2,
D3D10_REGISTER_COMPONENT_FLOAT32=>3);
type LPD3D10_REGISTER_COMPONENT_TYPE is access D3D10_REGISTER_COMPONENT_TYPE;
type tagD3D10_INCLUDE_TYPE is (D3D10_INCLUDE_LOCAL,
D3D10_INCLUDE_SYSTEM,
D3D10_INCLUDE_FORCE_DWORD);
for tagD3D10_INCLUDE_TYPE use (D3D10_INCLUDE_LOCAL=>0,
D3D10_INCLUDE_SYSTEM=>1,
D3D10_INCLUDE_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_INCLUDE_TYPE is tagD3D10_INCLUDE_TYPE;
type LPD3D10_INCLUDE_TYPE is access tagD3D10_INCLUDE_TYPE;
type ID3D10Include;
type LPID3D10INCLUDE is access all ID3D10Include;
type LPLPID3D10Include is access all LPID3D10Include;
subtype LPD3D10Include is LPID3D10Include;
subtype LPLPD3D10Include is LPLPID3D10Include;
type ID3D10Include is record
Open:access procedure(THIS:LPID3D10Include;IncludeType:D3D10_INCLUDE_TYPE;pFileName:LPCSTR;pParentData:LPCVOID;ppData:LPLPCVOID;pBytes:LPUINT) with Convention=>Stdcall;
Close:access procedure(THIS:LPID3D10Include;pData:LPCVOID) with Convention=>Stdcall;
end record;
type tagD3D10_SHADER_DESC is record
Version:UINT;
Creator:LPCSTR;
Flags:UINT;
ConstantBuffers:UINT;
BoundResources:UINT;
InputParameters:UINT;
OutputParameters:UINT;
InstructionCount:UINT;
TempRegisterCount:UINT;
TempArrayCount:UINT;
DefCount:UINT;
DclCount:UINT;
TextureNormalInstructions:UINT;
TextureLoadInstructions:UINT;
TextureCompInstructions:UINT;
TextureBiasInstructions:UINT;
TextureGradientInstructions:UINT;
FloatInstructionCount:UINT;
IntInstructionCount:UINT;
UintInstructionCount:UINT;
StaticFlowControlCount:UINT;
DynamicFlowControlCount:UINT;
MacroInstructionCount:UINT;
ArrayInstructionCount:UINT;
CutInstructionCount:UINT;
EmitInstructionCount:UINT;
GSOutputTopology:D3D10_PRIMITIVE_TOPOLOGY;
GSMaxOutputVertexCount:UINT;
end record;
subtype D3D10_SHADER_DESC is tagD3D10_SHADER_DESC;
type LPD3D10_SHADER_DESC is access all tagD3D10_SHADER_DESC;
type tagD3D10_SHADER_BUFFER_DESC is record
Name:LPCSTR;
Typ:D3D10_CBUFFER_TYPE;
Variables:UINT;
Size:UINT;
uFlags:UINT;
end record;
subtype D3D10_SHADER_BUFFER_DESC is tagD3D10_SHADER_BUFFER_DESC;
type LPD3D10_SHADER_BUFFER_DESC is access all tagD3D10_SHADER_BUFFER_DESC;
type tagD3D10_SHADER_VARIABLE_DESC is record
Name:LPCSTR;
StartOffset:UINT;
Size:UINT;
uFlags:UINT;
DefaultValue:LPVOID;
end record;
subtype D3D10_SHADER_VARIABLE_DESC is tagD3D10_SHADER_VARIABLE_DESC;
type LPD3D10_SHADER_VARIABLE_DESC is access all tagD3D10_SHADER_VARIABLE_DESC;
type tagD3D10_SHADER_TYPE_DESC is record
Class:D3D10_SHADER_VARIABLE_CLASS;
Typ:D3D10_SHADER_VARIABLE_TYPE;
Rows:UINT;
Columns:UINT;
Elements:UINT;
Members:UINT;
Offset:UINT;
end record;
subtype D3D10_SHADER_TYPE_DESC is tagD3D10_SHADER_TYPE_DESC;
subtype LPD3D10_SHADER_TYPE_DESC is tagD3D10_SHADER_TYPE_DESC;
type tagD3D10_SHADER_INPUT_BIND_DESC is record
Name:LPCSTR;
Typ:D3D10_SHADER_INPUT_TYPE;
BindPoint:UINT;
BindCount:UINT;
uFlags:UINT;
ReturnType:D3D10_RESOURCE_RETURN_TYPE;
Dimension:D3D10_SRV_DIMENSION;
NumSamples:UINT;
end record;
subtype D3D10_SHADER_INPUT_BIND_DESC is tagD3D10_SHADER_INPUT_BIND_DESC;
type LPD3D10_SHADER_INPUT_BIND_DESC is access all tagD3D10_SHADER_INPUT_BIND_DESC;
type tagD3D10_SIGNATURE_PARAMETER_DESC is record
SemanticName:LPCSTR;
SemanticIndex:UINT;
Register:UINT;
SystemValueType:D3D10_NAME;
ComponentType:D3D10_REGISTER_COMPONENT_TYPE;
Mask:BYTE;
ReadWriteMask:BYTE;
end record;
subtype D3D10_SIGNATURE_PARAMETER_DESC is tagD3D10_SIGNATURE_PARAMETER_DESC;
type LPD3D10_SIGNATURE_PARAMETER_DESC is access all tagD3D10_SIGNATURE_PARAMETER_DESC;
type ID3D10ShaderReflectionType;
type LPID3D10SHADERREFLECTIONTYPE is access all ID3D10ShaderReflectionType;
type LPLPID3D10ShaderReflectionType is access all LPID3D10ShaderReflectionType;
subtype LPD3D10ShaderReflectionType is LPID3D10ShaderReflectionType;
subtype LPLPD3D10ShaderReflectionType is LPLPID3D10ShaderReflectionType;
IID_ID3D10ShaderReflectionType:constant win32.rpcdce.GUID:=(16#c530ad7d#,16#9b16#,16#4395#,(16#a9#,16#79#,16#ba#,16#2e#,16#cf#,16#f8#,16#3a#,16#dd#));
type ID3D10ShaderReflectionType is record
GetDesc:access procedure(THIS:LPID3D10ShaderReflectionType;pDesc:LPD3D10_SHADER_TYPE_DESC) with Convention=>Stdcall;
GetMemberTypeByIndex:access function(THIS:LPID3D10ShaderReflectionType;Index:UINT) return ID3D10ShaderReflectionType with Convention=>Stdcall;
GetMemberTypeByName:access function(THIS:LPID3D10ShaderReflectionType;Name:LPCSTR) return ID3D10ShaderReflectionType with Convention=>Stdcall;
GetMemberTypeName:access function(THIS:LPID3D10ShaderReflectionType;Index:UINT) return LPCSTR with Convention=>Stdcall;
end record;
type ID3D10ShaderReflectionVariable;
type LPID3D10SHADERREFLECTIONVARIABLE is access all ID3D10ShaderReflectionVariable;
type LPLPID3D10ShaderReflectionVariable is access all LPID3D10ShaderReflectionVariable;
subtype LPD3D10ShaderReflectionVariable is LPID3D10ShaderReflectionVariable;
subtype LPLPD3D10ShaderReflectionVariable is LPLPID3D10ShaderReflectionVariable;
IID_ID3D10ShaderReflectionVariable:constant win32.rpcdce.GUID:=(16#1bf63c95#,16#2650#,16#405d#,(16#99#,16#c1#,16#36#,16#36#,16#bd#,16#1d#,16#a0#,16#a1#));
type ID3D10ShaderReflectionVariable is record
GetDesc:access procedure(THIS:LPID3D10ShaderReflectionVariable;pDesc:LPD3D10_SHADER_VARIABLE_DESC) with Convention=>Stdcall;
GetType:access function(THIS:LPID3D10ShaderReflectionVariable) return ID3D10ShaderReflectionType with Convention=>Stdcall;
end record;
type ID3D10ShaderReflectionConstantBuffer;
type LPID3D10ShaderReflectionConstantBuffer is access all ID3D10ShaderReflectionConstantBuffer;
type LPLPID3D10ShaderReflectionConstantBuffer is access all LPID3D10ShaderReflectionConstantBuffer;
subtype LPD3D10ShaderReflectionConstantBuffer is LPID3D10ShaderReflectionConstantBuffer;
subtype LPLPD3D10ShaderReflectionConstantBuffer is LPLPID3D10ShaderReflectionConstantBuffer;
IID_ID3D10ShaderReflectionConstantBuffer:constant win32.rpcdce.GUID:=(16#66c66a94#,16#dddd#,16#4b62#,(16#a6#,16#6a#,16#f0#,16#da#,16#33#,16#c2#,16#b4#,16#d0#));
type ID3D10ShaderReflectionConstantBuffer is record
GetDesc:access procedure(THIS:LPID3D10ShaderReflectionConstantBuffer;pDesc:LPD3D10_SHADER_BUFFER_DESC) with Convention=>Stdcall;
GetVariableByIndex:access function(THIS:LPID3D10ShaderReflectionConstantBuffer;Index:UINT) return ID3D10ShaderReflectionVariable with Convention=>Stdcall;
GetVariableByName:access function(THIS:LPID3D10ShaderReflectionConstantBuffer;Name:LPCSTR) return ID3D10ShaderReflectionVariable with Convention=>Stdcall;
end record;
type ID3D10ShaderReflection;
type LPID3D10SHADERREFLECTION is access all ID3D10ShaderReflection;
type LPLPID3D10ShaderReflection is access all LPID3D10ShaderReflection;
subtype LPD3D10ShaderReflection is LPID3D10ShaderReflection;
subtype LPLPD3D10ShaderReflection is LPLPID3D10ShaderReflection;
IID_ID3D10ShaderReflection:constant win32.rpcdce.GUID:=(16#d40e20b6#,16#f8f7#,16#42ad#,(16#ab#,16#20#,16#4b#,16#af#,16#8f#,16#15#,16#df#,16#aa#));
type ID3D10ShaderReflection is record
QueryInterface:access procedure(THIS:LPID3D10ShaderReflection;iid:REFIID;ppv:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPID3D10ShaderReflection) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPID3D10ShaderReflection) return ULONG with Convention=>Stdcall;
GetDesc:access procedure(THIS:LPID3D10ShaderReflection;pDesc:LPD3D10_SHADER_DESC) with Convention=>Stdcall;
GetConstantBufferByIndex:access function(THIS:LPID3D10ShaderReflection;Index:UINT) return ID3D10ShaderReflectionConstantBuffer with Convention=>Stdcall;
GetConstantBufferByName:access function(THIS:LPID3D10ShaderReflection;Name:LPCSTR) return ID3D10ShaderReflectionConstantBuffer with Convention=>Stdcall;
GetResourceBindingDesc:access procedure(THIS:LPID3D10ShaderReflection;ResourceIndex:UINT;pDesc:LPD3D10_SHADER_INPUT_BIND_DESC) with Convention=>Stdcall;
GetInputParameterDesc:access procedure(THIS:LPID3D10ShaderReflection;ParameterIndex:UINT;pDesc:LPD3D10_SIGNATURE_PARAMETER_DESC) with Convention=>Stdcall;
GetOutputParameterDesc:access procedure(THIS:LPID3D10ShaderReflection;ParameterIndex:UINT;pDesc:LPD3D10_SIGNATURE_PARAMETER_DESC) with Convention=>Stdcall;
end record;
function D3D10CompileShader(pSrcData:LPCSTR;SrcDataLen:SIZE_T;pFileName:LPCSTR;pDefines:LPCD3D10_SHADER_MACRO;pInclude:LPD3D10INCLUDE;pFunctionName:LPCSTR;pProfile:LPCSTR;Flags:UINT;ppShader:LPLPID3D10Blob;ppErrorMsgs:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10CompileShader";
function D3D10DisassembleShader(pShader:LPCvoid;BytecodeLength:SIZE_T;EnableColorCode:BOOL;pComments:LPCSTR;ppDisassembly:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10DisassembleShader";
function D3D10GetPixelShaderProfile(pDevice:LPID3D10Device) return LPCSTR with Import,Convention=>stdcall,external_name=>"D3D10GetPixelShaderProfile";
function D3D10GetVertexShaderProfile(pDevice:LPID3D10Device) return LPCSTR with Import,Convention=>stdcall,external_name=>"D3D10GetVertexShaderProfile";
function D3D10GetGeometryShaderProfile(pDevice:LPID3D10Device) return LPCSTR with Import,Convention=>stdcall,external_name=>"D3D10GetGeometryShaderProfile";
function D3D10ReflectShader(pShaderBytecode:LPCvoid;BytecodeLength:SIZE_T;ppReflector:LPLPID3D10ShaderReflection) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10ReflectShader";
function D3D10PreprocessShader(pSrcData:LPCSTR;SrcDataSize:SIZE_T;pFileName:LPCSTR;pDefines:LPCD3D10_SHADER_MACRO;pInclude:LPD3D10INCLUDE;ppShaderText:LPLPID3D10Blob;ppErrorMsgs:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10PreprocessShader";
function D3D10GetInputSignatureBlob(pShaderBytecode:LPCvoid;BytecodeLength:SIZE_T;ppSignatureBlob:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10GetInputSignatureBlob";
function D3D10GetOutputSignatureBlob(pShaderBytecode:LPCvoid;BytecodeLength:SIZE_T;ppSignatureBlob:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10GetOutputSignatureBlob";
function D3D10GetInputAndOutputSignatureBlob(pShaderBytecode:LPCvoid;BytecodeLength:SIZE_T;ppSignatureBlob:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10GetInputAndOutputSignatureBlob";
function D3D10GetShaderDebugInfo(pShaderBytecode:LPCvoid;BytecodeLength:SIZE_T;ppDebugInfo:LPLPID3D10Blob) return HRESULT with Import,Convention=>stdcall,external_name=>"D3D10GetShaderDebugInfo";
--
-- THE END.
--
end D3D10shader;