#ifndef __D3D10_1SHADER_H__
#define __D3D10_1SHADER_H__
#include "d3d10shader.h"
#include <winapifamily.h>
typedef
enum
_D3D10_SHADER_DEBUG_REGTYPE
{
,
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_LITERAL
,
D3D10_SHADER_DEBUG_REG_UNUSED
,
D3D11_SHADER_DEBUG_REG_INTERFACE_POINTERS
,
D3D11_SHADER_DEBUG_REG_UAV
,
D3D10_SHADER_DEBUG_REG_FORCE_DWORD
=
0x7fffffff
,
}
D3D10_SHADER_DEBUG_REGTYPE
;
typedef
enum
_D3D10_SHADER_DEBUG_SCOPETYPE
{
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
=
0x7fffffff
,
}
D3D10_SHADER_DEBUG_SCOPETYPE
;
typedef
enum
_D3D10_SHADER_DEBUG_VARTYPE
{
D3D10_SHADER_DEBUG_VAR_VARIABLE
,
D3D10_SHADER_DEBUG_VAR_FUNCTION
,
D3D10_SHADER_DEBUG_VAR_FORCE_DWORD
=
0x7fffffff
,
}
D3D10_SHADER_DEBUG_VARTYPE
;
typedef
struct
_D3D10_SHADER_DEBUG_TOKEN_INFO
{
;
;
;
;
;
}
D3D10_SHADER_DEBUG_TOKEN_INFO
;
typedef
struct
_D3D10_SHADER_DEBUG_VAR_INFO
{
;
D3D10_SHADER_VARIABLE_TYPE
;
;
;
;
;
}
D3D10_SHADER_DEBUG_VAR_INFO
;
typedef
struct
{
;
D3D10_SHADER_DEBUG_REGTYPE
;
;
;
;
;
}
;
typedef
struct
_D3D10_SHADER_DEBUG_SCOPEVAR_INFO
{
;
D3D10_SHADER_DEBUG_VARTYPE
;
D3D10_SHADER_VARIABLE_CLASS
;
;
;
;
;
;
;
;
;
}
D3D10_SHADER_DEBUG_SCOPEVAR_INFO
;
typedef
struct
_D3D10_SHADER_DEBUG_SCOPE_INFO
{
D3D10_SHADER_DEBUG_SCOPETYPE
;
;
;
;
;
}
D3D10_SHADER_DEBUG_SCOPE_INFO
;
typedef
struct
_D3D10_SHADER_DEBUG_OUTPUTVAR
{
;
,
;
,
;
,
;
,
;
}
D3D10_SHADER_DEBUG_OUTPUTVAR
;
typedef
struct
_D3D10_SHADER_DEBUG_OUTPUTREG_INFO
{
D3D10_SHADER_DEBUG_REGTYPE
;
;
;
[
4
];
D3D10_SHADER_DEBUG_OUTPUTVAR
[
4
];
;
;
}
D3D10_SHADER_DEBUG_OUTPUTREG_INFO
;
typedef
struct
_D3D10_SHADER_DEBUG_INST_INFO
{
;
;
;
D3D10_SHADER_DEBUG_OUTPUTREG_INFO
[
2
];
;
;
;
;
;
;
}
D3D10_SHADER_DEBUG_INST_INFO
;
typedef
struct
_D3D10_SHADER_DEBUG_FILE_INFO
{
;
;
;
;
}
D3D10_SHADER_DEBUG_FILE_INFO
;
typedef
struct
{
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
}
;
typedef interface ID3D10ShaderReflection1 ID3D10ShaderReflection1;
typedef
struct
ID3D10ShaderReflection1
;
typedef interface ID3D10ShaderReflection1 *LPD3D10SHADERREFLECTION1;
DEFINE_GUID(IID_ID3D10ShaderReflection1,
0xc3457783, 0xa846, 0x47ce, 0x95, 0x20, 0xce, 0xa6, 0xf6, 0x6e, 0x74, 0x47);
extern
"C"
const
IID_ID3D10ShaderReflection1
;
#undef INTERFACE
#define INTERFACE ID3D10ShaderReflection1
DECLARE_INTERFACE_(ID3D10ShaderReflection1, IUnknown)
struct
__declspec
(novtable)
:
public
{
STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
const
&
,
*
) =
0
;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
void
) =
0
;
STDMETHOD_(ULONG, Release)(THIS) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
void
) =
0
;
STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_SHADER_DESC *pDesc) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
STDMETHOD_(ID3D10ShaderReflectionConstantBuffer*, GetConstantBufferByIndex)(THIS_ UINT Index) PURE;
virtual
__declspec
(nothrow)
ID3D10ShaderReflectionConstantBuffer
*
__stdcall
(
) =
0
;
STDMETHOD_(ID3D10ShaderReflectionConstantBuffer*, GetConstantBufferByName)(THIS_ LPCSTR Name) PURE;
virtual
__declspec
(nothrow)
ID3D10ShaderReflectionConstantBuffer
*
__stdcall
(
) =
0
;
STDMETHOD(GetResourceBindingDesc)(THIS_ UINT ResourceIndex, _Out_ D3D10_SHADER_INPUT_BIND_DESC *pDesc) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
,
D3D10_SHADER_INPUT_BIND_DESC
*
) =
0
;
STDMETHOD(GetInputParameterDesc)(THIS_ UINT ParameterIndex, _Out_ D3D10_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
,
D3D10_SIGNATURE_PARAMETER_DESC
*
) =
0
;
STDMETHOD(GetOutputParameterDesc)(THIS_ UINT ParameterIndex, _Out_ D3D10_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
,
D3D10_SIGNATURE_PARAMETER_DESC
*
) =
0
;
STDMETHOD_(ID3D10ShaderReflectionVariable*, GetVariableByName)(THIS_ LPCSTR Name) PURE;
virtual
__declspec
(nothrow)
ID3D10ShaderReflectionVariable
*
__stdcall
(
) =
0
;
STDMETHOD(GetResourceBindingDescByName)(THIS_ LPCSTR Name, _Out_ D3D10_SHADER_INPUT_BIND_DESC *pDesc) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
,
D3D10_SHADER_INPUT_BIND_DESC
*
) =
0
;
STDMETHOD(GetMovInstructionCount)(THIS_ _Out_ UINT* pCount) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
STDMETHOD(GetMovcInstructionCount)(THIS_ _Out_ UINT* pCount) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
STDMETHOD(GetConversionInstructionCount)(THIS_ _Out_ UINT* pCount) PURE;
virtual
__declspec
(nothrow)
__stdcall
GetConversionInstructionCount
(
*
) =
0
;
STDMETHOD(GetBitwiseInstructionCount)(THIS_ _Out_ UINT* pCount) PURE;
virtual
__declspec
(nothrow)
__stdcall
GetBitwiseInstructionCount
(
*
) =
0
;
STDMETHOD(GetGSInputPrimitive)(THIS_ _Out_ D3D10_PRIMITIVE* pPrim) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
STDMETHOD(IsLevel9Shader)(THIS_ _Out_ BOOL* pbLevel9Shader) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
STDMETHOD(IsSampleFrequencyShader)(THIS_ _Out_ BOOL* pbSampleFrequency) PURE;
virtual
__declspec
(nothrow)
__stdcall
(
*
) =
0
;
};
#ifdef __cplusplus
extern
"C"
{
#endif //__cplusplus
#ifdef __cplusplus
}
#endif //__cplusplus
#endif //__D3D10_1SHADER_H__