----------------------------------------
-- File : d3d10_1shader.ads --
-- Translator:Dongfeng.Gu,2018/10/24 --
-- 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 D3D10; use D3D10;
with D3D10shader; use D3D10shader;
package D3D10_1shader is
type tagD3D10_SHADER_DEBUG_REGTYPE is (D3D10_SHADER_DEBUG_REG_INPUT,
D3D10_SHADER_DEBUG_REG_OUTPUT,
D3D10_SHADER_DEBUG_REG_CBUFFER,
D3D10_SHADER_DEBUG_REG_TBUFFER,
D3D10_SHADER_DEBUG_REG_TEMP,
D3D10_SHADER_DEBUG_REG_TEMPARRAY,
D3D10_SHADER_DEBUG_REG_TEXTURE,
D3D10_SHADER_DEBUG_REG_SAMPLER,
D3D10_SHADER_DEBUG_REG_IMMEDIATECBUFFER,
D3D10_SHADER_DEBUG_REG_LITERAL,
D3D10_SHADER_DEBUG_REG_UNUSED,
D3D11_SHADER_DEBUG_REG_INTERFACE_POINTERS,
D3D10_SHADER_DEBUG_REG_FORCE_DWORD) with size=>32;
for tagD3D10_SHADER_DEBUG_REGTYPE use (D3D10_SHADER_DEBUG_REG_INPUT=>0,
D3D10_SHADER_DEBUG_REG_OUTPUT=>1,
D3D10_SHADER_DEBUG_REG_CBUFFER=>2,
D3D10_SHADER_DEBUG_REG_TBUFFER=>3,
D3D10_SHADER_DEBUG_REG_TEMP=>4,
D3D10_SHADER_DEBUG_REG_TEMPARRAY=>5,
D3D10_SHADER_DEBUG_REG_TEXTURE=>6,
D3D10_SHADER_DEBUG_REG_SAMPLER=>7,
D3D10_SHADER_DEBUG_REG_IMMEDIATECBUFFER=>8,
D3D10_SHADER_DEBUG_REG_LITERAL=>9,
D3D10_SHADER_DEBUG_REG_UNUSED=>10,
D3D11_SHADER_DEBUG_REG_INTERFACE_POINTERS=>11,
D3D10_SHADER_DEBUG_REG_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_DEBUG_REGTYPE is tagD3D10_SHADER_DEBUG_REGTYPE;
type LPD3D10_SHADER_DEBUG_REGTYPE is access tagD3D10_SHADER_DEBUG_REGTYPE;
type tagD3D10_SHADER_DEBUG_SCOPETYPE is (D3D10_SHADER_DEBUG_SCOPE_GLOBAL,
D3D10_SHADER_DEBUG_SCOPE_BLOCK,
D3D10_SHADER_DEBUG_SCOPE_FORLOOP,
D3D10_SHADER_DEBUG_SCOPE_STRUCT,
D3D10_SHADER_DEBUG_SCOPE_FUNC_PARAMS,
D3D10_SHADER_DEBUG_SCOPE_STATEBLOCK,
D3D10_SHADER_DEBUG_SCOPE_NAMESPACE,
D3D10_SHADER_DEBUG_SCOPE_ANNOTATION,
D3D10_SHADER_DEBUG_SCOPE_FORCE_DWORD);
for tagD3D10_SHADER_DEBUG_SCOPETYPE use (D3D10_SHADER_DEBUG_SCOPE_GLOBAL=>0,
D3D10_SHADER_DEBUG_SCOPE_BLOCK=>1,
D3D10_SHADER_DEBUG_SCOPE_FORLOOP=>2,
D3D10_SHADER_DEBUG_SCOPE_STRUCT=>3,
D3D10_SHADER_DEBUG_SCOPE_FUNC_PARAMS=>4,
D3D10_SHADER_DEBUG_SCOPE_STATEBLOCK=>5,
D3D10_SHADER_DEBUG_SCOPE_NAMESPACE=>6,
D3D10_SHADER_DEBUG_SCOPE_ANNOTATION=>7,
D3D10_SHADER_DEBUG_SCOPE_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_DEBUG_SCOPETYPE is tagD3D10_SHADER_DEBUG_SCOPETYPE;
type LPD3D10_SHADER_DEBUG_SCOPETYPE is access tagD3D10_SHADER_DEBUG_SCOPETYPE;
type tagD3D10_SHADER_DEBUG_VARTYPE is (D3D10_SHADER_DEBUG_VAR_VARIABLE,
D3D10_SHADER_DEBUG_VAR_FUNCTION,
D3D10_SHADER_DEBUG_VAR_FORCE_DWORD);
for tagD3D10_SHADER_DEBUG_VARTYPE use (D3D10_SHADER_DEBUG_VAR_VARIABLE=>+ 1,
D3D10_SHADER_DEBUG_VAR_FUNCTION=>+ 1+ 1,
D3D10_SHADER_DEBUG_VAR_FORCE_DWORD=>16#7fffffff#);
subtype D3D10_SHADER_DEBUG_VARTYPE is tagD3D10_SHADER_DEBUG_VARTYPE;
type LPD3D10_SHADER_DEBUG_VARTYPE is access tagD3D10_SHADER_DEBUG_VARTYPE;
type tagD3D10_SHADER_DEBUG_TOKEN_INFO is record
File:UINT;
Line:UINT;
Column:UINT;
TokenLength:UINT;
TokenId:UINT;
end record;
subtype D3D10_SHADER_DEBUG_TOKEN_INFO is tagD3D10_SHADER_DEBUG_TOKEN_INFO;
type LPD3D10_SHADER_DEBUG_TOKEN_INFO is access all tagD3D10_SHADER_DEBUG_TOKEN_INFO;
type tagD3D10_SHADER_DEBUG_VAR_INFO is record
TokenId:UINT;
Typ:D3D10_SHADER_VARIABLE_TYPE;
Register:UINT;
Component:UINT;
ScopeVar:UINT;
ScopeVarOffset:UINT;
end record;
subtype D3D10_SHADER_DEBUG_VAR_INFO is tagD3D10_SHADER_DEBUG_VAR_INFO;
type LPD3D10_SHADER_DEBUG_VAR_INFO is access all tagD3D10_SHADER_DEBUG_VAR_INFO;
type tagD3D10_SHADER_DEBUG_INPUT_INFO is record
Var:UINT;
InitialRegisterSet:D3D10_SHADER_DEBUG_REGTYPE;
InitialBank:UINT;
InitialRegister:UINT;
InitialComponent:UINT;
InitialValue:UINT;
end record;
subtype D3D10_SHADER_DEBUG_INPUT_INFO is tagD3D10_SHADER_DEBUG_INPUT_INFO;
type LPD3D10_SHADER_DEBUG_INPUT_INFO is access all tagD3D10_SHADER_DEBUG_INPUT_INFO;
type tagD3D10_SHADER_DEBUG_SCOPEVAR_INFO is record
TokenId:UINT;
VarType:D3D10_SHADER_DEBUG_VARTYPE;
Class:D3D10_SHADER_VARIABLE_CLASS;
Rows:UINT;
Columns:UINT;
StructMemberScope:UINT;
uArrayIndices:UINT;
ArrayElements:UINT;
ArrayStrides:UINT;
uVariables:UINT;
uFirstVariable:UINT;
end record;
subtype D3D10_SHADER_DEBUG_SCOPEVAR_INFO is tagD3D10_SHADER_DEBUG_SCOPEVAR_INFO;
type LPD3D10_SHADER_DEBUG_SCOPEVAR_INFO is access all tagD3D10_SHADER_DEBUG_SCOPEVAR_INFO;
type tagD3D10_SHADER_DEBUG_SCOPE_INFO is record
ScopeType:D3D10_SHADER_DEBUG_SCOPETYPE;
Name:UINT;
uNameLen:UINT;
uVariables:UINT;
VariableData:UINT;
end record;
subtype D3D10_SHADER_DEBUG_SCOPE_INFO is tagD3D10_SHADER_DEBUG_SCOPE_INFO;
type LPD3D10_SHADER_DEBUG_SCOPE_INFO is access all tagD3D10_SHADER_DEBUG_SCOPE_INFO;
type tagD3D10_SHADER_DEBUG_OUTPUTVAR is record
Var:UINT;
uValueMin:UINT;
uValueMax:UINT;
iValueMin:INT;
iValueMax:INT;
fValueMin:FLOAT;
fValueMax:FLOAT;
bNaNPossible:BOOL;
bInfPossible:BOOL;
end record;
subtype D3D10_SHADER_DEBUG_OUTPUTVAR is tagD3D10_SHADER_DEBUG_OUTPUTVAR;
type LPD3D10_SHADER_DEBUG_OUTPUTVAR is access all tagD3D10_SHADER_DEBUG_OUTPUTVAR;
type D3D10_SHADER_DEBUG_OUTPUTVAR_ARRAY is array(Natural range<>) of D3D10_SHADER_DEBUG_OUTPUTVAR;
type tagD3D10_SHADER_DEBUG_OUTPUTREG_INFO is record
OutputRegisterSet:D3D10_SHADER_DEBUG_REGTYPE;
OutputReg:UINT;
TempArrayReg:UINT;
OutputComponents:UINT_Array(0..4-1);
OutputVars:D3D10_SHADER_DEBUG_OUTPUTVAR_Array(0..4-1);
IndexReg:UINT;
IndexComp:UINT;
end record;
subtype D3D10_SHADER_DEBUG_OUTPUTREG_INFO is tagD3D10_SHADER_DEBUG_OUTPUTREG_INFO;
type LPD3D10_SHADER_DEBUG_OUTPUTREG_INFO is access all tagD3D10_SHADER_DEBUG_OUTPUTREG_INFO;
type D3D10_SHADER_DEBUG_OUTPUTREG_INFO_ARRAY is array (Natural range<>) of D3D10_SHADER_DEBUG_OUTPUTREG_INFO;
type tagD3D10_SHADER_DEBUG_INST_INFO is record
Id:UINT;
Opcode:UINT;
uOutputs:UINT;
pOutputs:D3D10_SHADER_DEBUG_OUTPUTREG_INFO_Array(0..2-1);
TokenId:UINT;
NestingLevel:UINT;
Scopes:UINT;
ScopeInfo:UINT;
AccessedVars:UINT;
AccessedVarsInfo:UINT;
end record;
subtype D3D10_SHADER_DEBUG_INST_INFO is tagD3D10_SHADER_DEBUG_INST_INFO;
type LPD3D10_SHADER_DEBUG_INST_INFO is access all tagD3D10_SHADER_DEBUG_INST_INFO;
type tagD3D10_SHADER_DEBUG_FILE_INFO is record
FileName:UINT;
FileNameLen:UINT;
FileData:UINT;
FileLen:UINT;
end record;
subtype D3D10_SHADER_DEBUG_FILE_INFO is tagD3D10_SHADER_DEBUG_FILE_INFO;
type LPD3D10_SHADER_DEBUG_FILE_INFO is access all tagD3D10_SHADER_DEBUG_FILE_INFO;
type tagD3D10_SHADER_DEBUG_INFO is record
Size:UINT;
Creator:UINT;
EntrypointName:UINT;
ShaderTarget:UINT;
CompileFlags:UINT;
Files:UINT;
FileInfo:UINT;
Instructions:UINT;
InstructionInfo:UINT;
Variables:UINT;
VariableInfo:UINT;
InputVariables:UINT;
InputVariableInfo:UINT;
Tokens:UINT;
TokenInfo:UINT;
Scopes:UINT;
ScopeInfo:UINT;
ScopeVariables:UINT;
ScopeVariableInfo:UINT;
UintOffset:UINT;
StringOffset:UINT;
end record;
type LPD3D10_SHADER_DEBUG_INFO is access all tagD3D10_SHADER_DEBUG_INFO;
type ID3D10ShaderReflection1;
type LPID3D10SHADERREFLECTION1 is access all ID3D10ShaderReflection1;
type LPLPID3D10ShaderReflection1 is access all LPID3D10ShaderReflection1;
subtype LPD3D10ShaderReflection1 is LPID3D10ShaderReflection1;
subtype LPLPD3D10SHADERREFLECTION1 is LPLPID3D10ShaderReflection1;
IID_ID3D10ShaderReflection1:constant win32.rpcdce.GUID:=(16#c3457783#,16#a846#,16#47ce#,(16#95#,16#20#,16#ce#,16#a6#,16#f6#,16#6e#,16#74#,16#47#));
type ID3D10ShaderReflection1 is record
QueryInterface:access procedure(THIS:LPID3D10ShaderReflection1;iid:REFIID;ppv:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPID3D10ShaderReflection1) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPID3D10ShaderReflection1) return ULONG with Convention=>Stdcall;
GetDesc:access procedure(THIS:LPID3D10ShaderReflection1;pDesc:LPD3D10_SHADER_DESC) with Convention=>Stdcall;
GetConstantBufferByIndex:access function(THIS:LPID3D10ShaderReflection1;Index:UINT) return LPID3D10ShaderReflectionConstantBuffer with Convention=>Stdcall;
GetConstantBufferByName:access function(THIS:LPID3D10ShaderReflection1;Name:LPCSTR) return LPID3D10ShaderReflectionConstantBuffer with Convention=>Stdcall;
GetResourceBindingDesc:access procedure(THIS:LPID3D10ShaderReflection1;ResourceIndex:UINT;pDesc:LPD3D10_SHADER_INPUT_BIND_DESC) with Convention=>Stdcall;
GetInputParameterDesc:access procedure(THIS:LPID3D10ShaderReflection1;ParameterIndex:UINT;pDesc:LPD3D10_SIGNATURE_PARAMETER_DESC) with Convention=>Stdcall;
GetOutputParameterDesc:access procedure(THIS:LPID3D10ShaderReflection1;ParameterIndex:UINT;pDesc:LPD3D10_SIGNATURE_PARAMETER_DESC) with Convention=>Stdcall;
GetVariableByName:access function(THIS:LPID3D10ShaderReflection1;Name:LPCSTR) return LPID3D10ShaderReflectionVariable with Convention=>Stdcall;
GetResourceBindingDescByName:access procedure(THIS:LPID3D10ShaderReflection1;Name:LPCSTR;pDesc:LPD3D10_SHADER_INPUT_BIND_DESC) with Convention=>Stdcall;
GetMovInstructionCount:access procedure(THIS:LPID3D10ShaderReflection1;pCount:LPUINT) with Convention=>Stdcall;
GetMovcInstructionCount:access procedure(THIS:LPID3D10ShaderReflection1;pCount:LPUINT) with Convention=>Stdcall;
GetConversionInstructionCount:access procedure(THIS:LPID3D10ShaderReflection1;pCount:LPUINT) with Convention=>Stdcall;
GetBitwiseInstructionCount:access procedure(THIS:LPID3D10ShaderReflection1;pCount:LPUINT) with Convention=>Stdcall;
GetGSInputPrimitive:access procedure(THIS:LPID3D10ShaderReflection1;pPrim:access D3D10_PRIMITIVE) with Convention=>Stdcall;
IsLevel9Shader:access procedure(THIS:LPID3D10ShaderReflection1;pbLevel9Shader:LPBOOL) with Convention=>Stdcall;
IsSampleFrequencyShader:access procedure(THIS:LPID3D10ShaderReflection1;pbSampleFrequency:LPBOOL) with Convention=>Stdcall;
end record;
end D3D10_1shader;