d3d10shader.idl revision b6b3fbcdb14faf5a5be66112a06d3406e7a46998
1b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/**************************************************************************
2b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato *
3b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Copyright 2010 Luca Barbieri
4b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato *
5b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * Permission is hereby granted, free of charge, to any person obtaining
6b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * a copy of this software and associated documentation files (the
7b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * "Software"), to deal in the Software without restriction, including
8b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * without limitation the rights to use, copy, modify, merge, publish,
9b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * distribute, sublicense, and/or sell copies of the Software, and to
10b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * permit persons to whom the Software is furnished to do so, subject to
11b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * the following conditions:
12b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato *
13b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * The above copyright notice and this permission notice (including the
14b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * next paragraph) shall be included in all copies or substantial
15b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * portions of the Software.
16b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato *
17b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
21b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato *
25b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato **************************************************************************/
26b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
27b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoimport "d3d10.idl";
28b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
29b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratocpp_quote("#define D3D10_TX_VERSION(a, b) (('T' << 24) | ('X' << 16) | ((a) << 8) | (b)))")
30b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
31b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_DEBUG = (1 << 0);
32b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_SKIP_VALIDATION = (1 << 1);
33b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_SKIP_OPTIMIZATION = (1 << 2);
34b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = (1 << 3);
35b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = (1 << 4);
36b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_PARTIAL_PRECISION = (1 << 5);
37b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = (1 << 6);
38b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = (1 << 7);
39b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_NO_PRESHADER = (1 << 8);
40b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_AVOID_FLOW_CONTROL = (1 << 9);
41b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_PREFER_FLOW_CONTROL = (1 << 10);
42b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_ENABLE_STRICTNESS = (1 << 11);
43b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = (1 << 12);
44b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_IEEE_STRICTNESS = (1 << 13);
45b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_WARNINGS_ARE_ERRORS = (1 << 18);
46b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
47b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
48b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL0 = (1 << 14);
49b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0;
50b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL2 = ((1 << 14) | (1 << 15));
51b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoconst unsigned int D3D10_SHADER_OPTIMIZATION_LEVEL3 = (1 << 15);
52b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
53b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_MACRO D3D10_SHADER_MACRO;
54b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO;
55b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
56b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
57b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS;
58b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS;
59b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_VARIABLE_FLAGS D3D10_SHADER_VARIABLE_FLAGS;
60b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS;
61b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE;
62b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE;
63b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_INPUT_FLAGS D3D10_SHADER_INPUT_FLAGS;
64b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS;
65b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_INPUT_TYPE D3D10_SHADER_INPUT_TYPE;
66b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE;
67b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_SHADER_CBUFFER_FLAGS D3D10_SHADER_CBUFFER_FLAGS;
68b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS;
69b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_CBUFFER_TYPE D3D10_CBUFFER_TYPE;
70b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE;
71b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_NAME D3D10_NAME;
72b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_RESOURCE_RETURN_TYPE D3D10_RESOURCE_RETURN_TYPE;
73b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_REGISTER_COMPONENT_TYPE D3D10_REGISTER_COMPONENT_TYPE;
74b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_INCLUDE_TYPE D3D10_INCLUDE_TYPE;
75b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef ID3DInclude* LPD3D10INCLUDE;
76b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
77b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratocpp_quote("#define D3D10_SHVER_GET_TYPE(v) (((v) >> 16) & 0xffff)")
78b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratocpp_quote("#define D3D10_SHVER_GET_MAJOR(v) (((v) >> 4) & 0xf)")
79b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratocpp_quote("#define D3D10_SHVER_GET_MINOR(v) (((v) >> 0) & 0xf)")
80b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
81b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct _D3D10_SIGNATURE_PARAMETER_DESC
82b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato{
83b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPCSTR SemanticName;
84b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT SemanticIndex;
85b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Register;
86b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	D3D_NAME SystemValueType;
87b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	D3D_REGISTER_COMPONENT_TYPE ComponentType;
88b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	BYTE Mask;
89b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	BYTE ReadWriteMask;
90b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} D3D10_SIGNATURE_PARAMETER_DESC;
91b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
92b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct _D3D10_SHADER_BUFFER_DESC
93b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato{
94b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPCSTR Name;
95b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	D3D_CBUFFER_TYPE Type;
96b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Variables;
97b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Size;
98b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT uFlags;
99b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} D3D10_SHADER_BUFFER_DESC;
100b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
101b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct _D3D10_SHADER_VARIABLE_DESC
102b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato{
103b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPCSTR Name;
104b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT StartOffset;
105b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Size;
106b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT uFlags;
107b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPVOID DefaultValue;
108b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT StartTexture;
109b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT TextureSize;
110b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT StartSampler;
111b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT SamplerSize;
112b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} D3D10_SHADER_VARIABLE_DESC;
113b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
114b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct _D3D10_SHADER_TYPE_DESC
115b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato{
116b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	D3D_SHADER_VARIABLE_CLASS Class;
117b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	D3D_SHADER_VARIABLE_TYPE Type;
118b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Rows;
119b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Columns;
120b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Elements;
121b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Members;
122b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Offset;
123b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPCSTR Name;
124b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} D3D10_SHADER_TYPE_DESC;
125b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
126b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_TESSELLATOR_DOMAIN D3D10_TESSELLATOR_DOMAIN;
127b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_TESSELLATOR_PARTITIONING D3D10_TESSELLATOR_PARTITIONING;
128b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D10_TESSELLATOR_OUTPUT_PRIMITIVE;
129b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
130b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct _D3D10_SHADER_DESC
131b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato{
132b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Version;
133b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	LPCSTR Creator;
134b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato	UINT Flags;
135b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
136	UINT ConstantBuffers;
137	UINT BoundResources;
138	UINT InputParameters;
139	UINT OutputParameters;
140
141	UINT InstructionCount;
142	UINT TempRegisterCount;
143	UINT TempArrayCount;
144	UINT DefCount;
145	UINT DclCount;
146	UINT TextureNormalInstructions;
147	UINT TextureLoadInstructions;
148	UINT TextureCompInstructions;
149	UINT TextureBiasInstructions;
150	UINT TextureGradientInstructions;
151	UINT FloatInstructionCount;
152	UINT IntInstructionCount;
153	UINT UintInstructionCount;
154	UINT StaticFlowControlCount;
155	UINT DynamicFlowControlCount;
156	UINT MacroInstructionCount;
157	UINT ArrayInstructionCount;
158	UINT CutInstructionCount;
159	UINT EmitInstructionCount;
160	D3D_PRIMITIVE_TOPOLOGY GSOutputTopology;
161	UINT GSMaxOutputVertexCount;
162} D3D10_SHADER_DESC;
163
164typedef struct _D3D10_SHADER_INPUT_BIND_DESC
165{
166	LPCSTR Name;
167	D3D_SHADER_INPUT_TYPE Type;
168	UINT BindPoint;
169	UINT BindCount;
170
171	UINT uFlags;
172	D3D_RESOURCE_RETURN_TYPE ReturnType;
173	D3D_SRV_DIMENSION Dimension;
174	UINT NumSamples;
175} D3D10_SHADER_INPUT_BIND_DESC;
176
177[local, object, uuid("C530AD7D-9B16-4395-A979-BA2ECFF83ADD")]
178interface ID3D10ShaderReflectionType
179{
180	HRESULT GetDesc(
181		[out] D3D10_SHADER_TYPE_DESC *a
182	);
183
184	ID3D10ShaderReflectionType* GetMemberTypeByIndex(
185		[in] UINT a
186	);
187
188	ID3D10ShaderReflectionType* GetMemberTypeByName(
189		[in] LPCSTR a
190	);
191
192	LPCSTR GetMemberTypeName(
193		[in] UINT a
194	);
195};
196
197interface ID3D10ShaderReflectionConstantBuffer;
198
199[object, local, uuid("1BF63C95-2650-405d-99C1-3636BD1DA0A1")]
200interface ID3D10ShaderReflectionVariable
201{
202	HRESULT GetDesc(
203		[out] D3D10_SHADER_VARIABLE_DESC *a
204	);
205
206	ID3D10ShaderReflectionType* GetType();
207};
208
209[object, local, uuid("66C66A94-DDDD-4b62-A66A-F0DA33C2B4D0")]
210interface ID3D10ShaderReflectionConstantBuffer
211{
212	HRESULT GetDesc(
213		[out] D3D10_SHADER_BUFFER_DESC *a
214	);
215
216	ID3D10ShaderReflectionVariable* GetVariableByIndex(
217		[in] UINT a
218	);
219
220	ID3D10ShaderReflectionVariable* GetVariableByName(
221		[in] LPCSTR a
222	);
223};
224
225[object,local,uuid("D40E20B6-F8F7-42ad-AB20-4BAF8F15DFAA")]
226interface ID3D10ShaderReflection : IUnknown
227{
228	HRESULT GetDesc(
229		[out] D3D10_SHADER_DESC *a
230	);
231
232	ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex(
233		[in] UINT a
234	);
235
236	ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName(
237		[in] LPCSTR a
238	);
239
240	HRESULT GetResourceBindingDesc(
241		[in] UINT a,
242		[out] D3D10_SHADER_INPUT_BIND_DESC *b
243	);
244
245	HRESULT GetInputParameterDesc(
246		[in] UINT a,
247		[out] D3D10_SIGNATURE_PARAMETER_DESC *b
248	);
249
250	HRESULT GetOutputParameterDesc
251	(
252		[in] UINT a,
253		[out] D3D10_SIGNATURE_PARAMETER_DESC *b
254	);
255};
256
257HRESULT D3D10CompileShader(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, const D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
258	LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs);
259HRESULT D3D10DisassembleShader(const void *pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob** ppDisassembly);
260LPCSTR D3D10GetPixelShaderProfile(ID3D10Device *pDevice);
261LPCSTR D3D10GetVertexShaderProfile(ID3D10Device *pDevice);
262LPCSTR D3D10GetGeometryShaderProfile(ID3D10Device *pDevice);
263HRESULT D3D10ReflectShader(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection **ppReflector);
264HRESULT D3D10PreprocessShader(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, const D3D10_SHADER_MACRO* pDefines,
265	LPD3D10INCLUDE pInclude, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs);
266HRESULT D3D10GetInputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob);
267HRESULT D3D10GetOutputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob);
268HRESULT D3D10GetInputAndOutputSignatureBlob(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob **ppSignatureBlob);
269HRESULT D3D10GetShaderDebugInfo(const void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppDebugInfo);
270