1 /***********************************************************************\
2 * d3d10effect.d *
3 * *
4 * Windows API header module *
5 * *
6 * Placed into public domain *
7 \***********************************************************************/
8 module win32.directx.d3d10effect;
9 version(Windows):
10
11 private import win32.windows;
12 private import win32.directx.d3d10;
13
14
15 enum D3D10_DEVICE_STATE_TYPES {
16 D3D10_DST_SO_BUFFERS = 1,
17 D3D10_DST_OM_RENDER_TARGETS,
18 D3D10_DST_OM_DEPTH_STENCIL_STATE,
19 D3D10_DST_OM_BLEND_STATE,
20 D3D10_DST_VS,
21 D3D10_DST_VS_SAMPLERS,
22 D3D10_DST_VS_SHADER_RESOURCES,
23 D3D10_DST_VS_CONSTANT_BUFFERS,
24 D3D10_DST_GS,
25 D3D10_DST_GS_SAMPLERS,
26 D3D10_DST_GS_SHADER_RESOURCES,
27 D3D10_DST_GS_CONSTANT_BUFFERS,
28 D3D10_DST_PS,
29 D3D10_DST_PS_SAMPLERS,
30 D3D10_DST_PS_SHADER_RESOURCES,
31 D3D10_DST_PS_CONSTANT_BUFFERS,
32 D3D10_DST_IA_VERTEX_BUFFERS,
33 D3D10_DST_IA_INDEX_BUFFER,
34 D3D10_DST_IA_INPUT_LAYOUT,
35 D3D10_DST_IA_PRIMITIVE_TOPOLOGY,
36 D3D10_DST_RS_VIEWPORTS,
37 D3D10_DST_RS_SCISSOR_RECTS,
38 D3D10_DST_RS_RASTERIZER_STATE,
39 D3D10_DST_PREDICATION
40 }
41
42 struct D3D10_STATE_BLOCK_MASK {
43 BYTE VS;
44 BYTE[2] VSSamplers;
45 BYTE[16] VSShaderResources;
46 BYTE[2] VSConstantBuffers;
47 BYTE GS;
48 BYTE[2] GSSamplers;
49 BYTE[16] GSShaderResources;
50 BYTE[2] GSConstantBuffers;
51 BYTE PS;
52 BYTE[2] PSSamplers;
53 BYTE[16] PSShaderResources;
54 BYTE[2] PSConstantBuffers;
55 BYTE[2] IAVertexBuffers;
56 BYTE IAIndexBuffer;
57 BYTE IAInputLayout;
58 BYTE IAPrimitiveTopology;
59 BYTE OMRenderTargets;
60 BYTE OMDepthStencilState;
61 BYTE OMBlendState;
62 BYTE RSViewports;
63 BYTE RSScissorRects;
64 BYTE RSRasterizerState;
65 BYTE SOBuffers;
66 BYTE Predication;
67 }
68
69 extern (C) const GUID IID_ID3D10StateBlock = {0x803425a, 0x57f5, 0x4dd6, [0x94, 0x65, 0xa8, 0x75, 0x70, 0x83, 0x4a, 0x08]};
70
71 interface ID3D10StateBlock : IUnknown {
72 extern(Windows) :
73 HRESULT Capture();
74 HRESULT Apply();
75 HRESULT ReleaseAllDeviceObjects();
76 HRESULT GetDevice(ID3D10Device ppDevice);
77 }
78
79 HRESULT D3D10StateBlockMaskUnion(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult);
80 HRESULT D3D10StateBlockMaskIntersect(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult);
81 HRESULT D3D10StateBlockMaskDifference(D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult);
82 HRESULT D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength);
83 HRESULT D3D10StateBlockMaskDisableCapture(D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength);
84 HRESULT D3D10StateBlockMaskEnableAll(D3D10_STATE_BLOCK_MASK* pMask);
85 HRESULT D3D10StateBlockMaskDisableAll(D3D10_STATE_BLOCK_MASK* pMask);
86 BOOL D3D10StateBlockMaskGetSetting(D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT Entry);
87 HRESULT D3D10CreateStateBlock(ID3D10Device pDevice, D3D10_STATE_BLOCK_MASK* pStateBlockMask, ID3D10StateBlock ppStateBlock);
88
89 const D3D10_EFFECT_COMPILE_CHILD_EFFECT = 1 << 0;
90 const D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS = 1 << 1;
91 const D3D10_EFFECT_SINGLE_THREADED = 1 << 3;
92 const D3D10_EFFECT_VARIABLE_POOLED = 1 << 0;
93 const D3D10_EFFECT_VARIABLE_ANNOTATION = 1 << 1;
94 const D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT = 1 << 2;
95
96 struct D3D10_EFFECT_TYPE_DESC {
97 LPCSTR TypeName;
98 D3D10_SHADER_VARIABLE_CLASS Class;
99 D3D10_SHADER_VARIABLE_TYPE Type;
100 UINT Elements;
101 UINT Members;
102 UINT Rows;
103 UINT Columns;
104 UINT PackedSize;
105 UINT UnpackedSize;
106 UINT Stride;
107 }
108
109 extern (C) const GUID IID_ID3D10EffectType = {0x4e9e1ddc, 0xcd9d, 0x4772, [0xa8, 0x37, 0x0, 0x18, 0x0b, 0x9b, 0x88, 0xfd]};
110
111 interface ID3D10EffectType {
112 /* TODO: fix vtbl[0] bug
113 extern(Windows) :
114 BOOL IsValid();
115 HRESULT GetDesc(D3D10_EFFECT_TYPE_DESC* pDesc);
116 ID3D10EffectType GetMemberTypeByIndex(UINT Index);
117 ID3D10EffectType GetMemberTypeByName(LPCSTR Name);
118 ID3D10EffectType GetMemberTypeBySemantic(LPCSTR Semantic);
119 LPCSTR GetMemberName(UINT Index);
120 LPCSTR GetMemberSemantic(UINT Index);
121 */
122 }
123
124 struct D3D10_EFFECT_VARIABLE_DESC {
125 LPCSTR Name;
126 LPCSTR Semantic;
127 UINT Flags;
128 UINT Annotations;
129 UINT BufferOffset;
130 UINT ExplicitBindPoint;
131 }
132
133 extern (C) const GUID IID_ID3D10EffectVariable = {0xae897105, 0x00e6, 0x45bf, [0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b]};
134
135 interface ID3D10EffectVariable {
136 /* TODO: fix vtbl[0] bug
137 extern(Windows) :
138 BOOL IsValid();
139 ID3D10EffectType GetType();
140 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
141 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
142 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
143 ID3D10EffectVariable GetMemberByIndex(UINT Index);
144 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
145 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
146 ID3D10EffectVariable GetElement(UINT Index);
147 ID3D10EffectConstantBuffer GetParentConstantBuffer();
148 ID3D10EffectScalarVariable AsScalar();
149 ID3D10EffectVectorVariable AsVector();
150 ID3D10EffectMatrixVariable AsMatrix();
151 ID3D10EffectStringVariable AsString();
152 ID3D10EffectShaderResourceVariable AsShaderResource();
153 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
154 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
155 ID3D10EffectConstantBuffer AsConstantBuffer();
156 ID3D10EffectShaderVariable AsShader();
157 ID3D10EffectBlendVariable AsBlend();
158 ID3D10EffectDepthStencilVariable AsDepthStencil();
159 ID3D10EffectRasterizerVariable AsRasterizer();
160 ID3D10EffectSamplerVariable AsSampler();
161 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
162 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
163 */
164 }
165
166 extern (C) const GUID IID_ID3D10EffectScalarVariable = {0xe48f7b, 0xd2c8, 0x49e8, [0xa8, 0x6c, 0x2, 0x2d, 0xee, 0x53, 0x43, 0x1f]};
167
168 interface ID3D10EffectScalarVariable : ID3D10EffectVariable {
169 /* TODO: fix vtbl[0] bug
170 extern(Windows) :
171 BOOL IsValid();
172 ID3D10EffectType GetType();
173 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
174 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
175 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
176 ID3D10EffectVariable GetMemberByIndex(UINT Index);
177 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
178 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
179 ID3D10EffectVariable GetElement(UINT Index);
180 ID3D10EffectConstantBuffer GetParentConstantBuffer();
181 ID3D10EffectScalarVariable AsScalar();
182 ID3D10EffectVectorVariable AsVector();
183 ID3D10EffectMatrixVariable AsMatrix();
184 ID3D10EffectStringVariable AsString();
185 ID3D10EffectShaderResourceVariable AsShaderResource();
186 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
187 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
188 ID3D10EffectConstantBuffer AsConstantBuffer();
189 ID3D10EffectShaderVariable AsShader();
190 ID3D10EffectBlendVariable AsBlend();
191 ID3D10EffectDepthStencilVariable AsDepthStencil();
192 ID3D10EffectRasterizerVariable AsRasterizer();
193 ID3D10EffectSamplerVariable AsSampler();
194 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
195 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
196 HRESULT SetFloat(float Value);
197 HRESULT GetFloat(float* pValue);
198 HRESULT SetFloatArray(float* pData, UINT Offset, UINT Count);
199 HRESULT GetFloatArray(float* pData, UINT Offset, UINT Count);
200 HRESULT SetInt(int Value);
201 HRESULT GetInt(int* pValue);
202 HRESULT SetIntArray(int* pData, UINT Offset, UINT Count);
203 HRESULT GetIntArray(int* pData, UINT Offset, UINT Count);
204 HRESULT SetBool(BOOL Value);
205 HRESULT GetBool(BOOL* pValue);
206 HRESULT SetBoolArray(BOOL* pData, UINT Offset, UINT Count);
207 HRESULT GetBoolArray(BOOL* pData, UINT Offset, UINT Count);
208 */
209 }
210
211 extern (C) const GUID IID_ID3D10EffectVectorVariable = {0x62b98c44, 0x1f82, 0x4c67, [0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81]};
212
213 interface ID3D10EffectVectorVariable : ID3D10EffectVariable {
214 /* TODO: fix vtbl[0] bug
215 extern(Windows) :
216 BOOL IsValid();
217 ID3D10EffectType GetType();
218 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
219 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
220 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
221 ID3D10EffectVariable GetMemberByIndex(UINT Index);
222 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
223 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
224 ID3D10EffectVariable GetElement(UINT Index);
225 ID3D10EffectConstantBuffer GetParentConstantBuffer();
226 ID3D10EffectScalarVariable AsScalar();
227 ID3D10EffectVectorVariable AsVector();
228 ID3D10EffectMatrixVariable AsMatrix();
229 ID3D10EffectStringVariable AsString();
230 ID3D10EffectShaderResourceVariable AsShaderResource();
231 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
232 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
233 ID3D10EffectConstantBuffer AsConstantBuffer();
234 ID3D10EffectShaderVariable AsShader();
235 ID3D10EffectBlendVariable AsBlend();
236 ID3D10EffectDepthStencilVariable AsDepthStencil();
237 ID3D10EffectRasterizerVariable AsRasterizer();
238 ID3D10EffectSamplerVariable AsSampler();
239 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
240 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
241 HRESULT SetBoolVector (BOOL* pData);
242 HRESULT SetIntVector (int* pData);
243 HRESULT SetFloatVector(float* pData);
244 HRESULT GetBoolVector (BOOL* pData);
245 HRESULT GetIntVector (int* pData);
246 HRESULT GetFloatVector(float* pData);
247 HRESULT SetBoolVectorArray (BOOL* pData, UINT Offset, UINT Count);
248 HRESULT SetIntVectorArray (int* pData, UINT Offset, UINT Count);
249 HRESULT SetFloatVectorArray(float* pData, UINT Offset, UINT Count);
250 HRESULT GetBoolVectorArray (BOOL* pData, UINT Offset, UINT Count);
251 HRESULT GetIntVectorArray (int* pData, UINT Offset, UINT Count);
252 HRESULT GetFloatVectorArray(float* pData, UINT Offset, UINT Count);
253 */
254 }
255
256 extern (C) const GUID IID_ID3D10EffectMatrixVariable = {0x50666c24, 0xb82f, 0x4eed, [0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0]};
257
258 interface ID3D10EffectMatrixVariable : ID3D10EffectVariable {
259 /* TODO: fix vtbl[0] bug
260 extern(Windows) :
261 BOOL IsValid();
262 ID3D10EffectType GetType();
263 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
264 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
265 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
266 ID3D10EffectVariable GetMemberByIndex(UINT Index);
267 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
268 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
269 ID3D10EffectVariable GetElement(UINT Index);
270 ID3D10EffectConstantBuffer GetParentConstantBuffer();
271 ID3D10EffectScalarVariable AsScalar();
272 ID3D10EffectVectorVariable AsVector();
273 ID3D10EffectMatrixVariable AsMatrix();
274 ID3D10EffectStringVariable AsString();
275 ID3D10EffectShaderResourceVariable AsShaderResource();
276 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
277 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
278 ID3D10EffectConstantBuffer AsConstantBuffer();
279 ID3D10EffectShaderVariable AsShader();
280 ID3D10EffectBlendVariable AsBlend();
281 ID3D10EffectDepthStencilVariable AsDepthStencil();
282 ID3D10EffectRasterizerVariable AsRasterizer();
283 ID3D10EffectSamplerVariable AsSampler();
284 HRESULT SetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
285 HRESULT GetRawValue(void* pData, UINT ByteOffset, UINT ByteCount);
286 HRESULT SetMatrix(float* pData);
287 HRESULT GetMatrix(float* pData);
288 HRESULT SetMatrixArray(float* pData, UINT Offset, UINT Count);
289 HRESULT GetMatrixArray(float* pData, UINT Offset, UINT Count);
290 HRESULT SetMatrixTranspose(float* pData);
291 HRESULT GetMatrixTranspose(float* pData);
292 HRESULT SetMatrixTransposeArray(float* pData, UINT Offset, UINT Count);
293 HRESULT GetMatrixTransposeArray(float* pData, UINT Offset, UINT Count);
294 */
295 }
296
297 extern (C) const GUID IID_ID3D10EffectStringVariable = {0x71417501, 0x8df9, 0x4e0a, [0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff]};
298
299 interface ID3D10EffectStringVariable : ID3D10EffectVariable {
300 /* TODO: fix vtbl[0] bug
301 extern(Windows) :
302 BOOL IsValid();
303 ID3D10EffectType GetType();
304 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
305 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
306 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
307 ID3D10EffectVariable GetMemberByIndex(UINT Index);
308 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
309 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
310 ID3D10EffectVariable GetElement(UINT Index);
311 ID3D10EffectConstantBuffer GetParentConstantBuffer();
312 ID3D10EffectScalarVariable AsScalar();
313 ID3D10EffectVectorVariable AsVector();
314 ID3D10EffectMatrixVariable AsMatrix();
315 ID3D10EffectStringVariable AsString();
316 ID3D10EffectShaderResourceVariable AsShaderResource();
317 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
318 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
319 ID3D10EffectConstantBuffer AsConstantBuffer();
320 ID3D10EffectShaderVariable AsShader();
321 ID3D10EffectBlendVariable AsBlend();
322 ID3D10EffectDepthStencilVariable AsDepthStencil();
323 ID3D10EffectRasterizerVariable AsRasterizer();
324 ID3D10EffectSamplerVariable AsSampler();
325 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
326 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
327 HRESULT GetString(LPCSTR* ppString);
328 HRESULT GetStringArray(LPCSTR* ppStrings, UINT Offset, UINT Count);
329 */
330 }
331
332 extern (C) const GUID IID_ID3D10EffectShaderResourceVariable = {0xc0a7157b, 0xd872, 0x4b1d, [0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc]};
333
334 interface ID3D10EffectShaderResourceVariable : ID3D10EffectVariable {
335 /* TODO: fix vtbl[0] bug
336 extern(Windows) :
337 BOOL IsValid();
338 ID3D10EffectType GetType();
339 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
340 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
341 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
342 ID3D10EffectVariable GetMemberByIndex(UINT Index);
343 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
344 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
345 ID3D10EffectVariable GetElement(UINT Index);
346 ID3D10EffectConstantBuffer GetParentConstantBuffer();
347 ID3D10EffectScalarVariable AsScalar();
348 ID3D10EffectVectorVariable AsVector();
349 ID3D10EffectMatrixVariable AsMatrix();
350 ID3D10EffectStringVariable AsString();
351 ID3D10EffectShaderResourceVariable AsShaderResource();
352 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
353 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
354 ID3D10EffectConstantBuffer AsConstantBuffer();
355 ID3D10EffectShaderVariable AsShader();
356 ID3D10EffectBlendVariable AsBlend();
357 ID3D10EffectDepthStencilVariable AsDepthStencil();
358 ID3D10EffectRasterizerVariable AsRasterizer();
359 ID3D10EffectSamplerVariable AsSampler();
360 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
361 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
362 HRESULT SetResource(ID3D10ShaderResourceView pResource);
363 HRESULT GetResource(ID3D10ShaderResourceView* ppResource);
364 HRESULT SetResourceArray(ID3D10ShaderResourceView* ppResources, UINT Offset, UINT Count);
365 HRESULT GetResourceArray(ID3D10ShaderResourceView* ppResources, UINT Offset, UINT Count);
366 */
367 }
368
369 extern (C) const GUID IID_ID3D10EffectRenderTargetViewVariable = {0x28ca0cc3, 0xc2c9, 0x40bb, [0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17]};
370
371 interface ID3D10EffectRenderTargetViewVariable : ID3D10EffectVariable {
372 /* TODO: fix vtbl[0] bug
373 extern(Windows) :
374 BOOL IsValid();
375 ID3D10EffectType GetType();
376 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
377 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
378 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
379 ID3D10EffectVariable GetMemberByIndex(UINT Index);
380 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
381 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
382 ID3D10EffectVariable GetElement(UINT Index);
383 ID3D10EffectConstantBuffer GetParentConstantBuffer();
384 ID3D10EffectScalarVariable AsScalar();
385 ID3D10EffectVectorVariable AsVector();
386 ID3D10EffectMatrixVariable AsMatrix();
387 ID3D10EffectStringVariable AsString();
388 ID3D10EffectShaderResourceVariable AsShaderResource();
389 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
390 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
391 ID3D10EffectConstantBuffer AsConstantBuffer();
392 ID3D10EffectShaderVariable AsShader();
393 ID3D10EffectBlendVariable AsBlend();
394 ID3D10EffectDepthStencilVariable AsDepthStencil();
395 ID3D10EffectRasterizerVariable AsRasterizer();
396 ID3D10EffectSamplerVariable AsSampler();
397 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
398 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
399 HRESULT SetRenderTarget(ID3D10RenderTargetView pResource);
400 HRESULT GetRenderTarget(ID3D10RenderTargetView* ppResource);
401 HRESULT SetRenderTargetArray(ID3D10RenderTargetView* ppResources, UINT Offset, UINT Count);
402 HRESULT GetRenderTargetArray(ID3D10RenderTargetView* ppResources, UINT Offset, UINT Count);
403 */
404 }
405
406 extern (C) const GUID IID_ID3D10EffectDepthStencilViewVariable = {0x3e02c918, 0xcc79, 0x4985, [0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23]};
407
408 interface ID3D10EffectDepthStencilViewVariable : ID3D10EffectVariable {
409 /* TODO: fix vtbl[0] bug
410 extern(Windows) :
411 BOOL IsValid();
412 ID3D10EffectType GetType();
413 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
414 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
415 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
416 ID3D10EffectVariable GetMemberByIndex(UINT Index);
417 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
418 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
419 ID3D10EffectVariable GetElement(UINT Index);
420 ID3D10EffectConstantBuffer GetParentConstantBuffer();
421 ID3D10EffectScalarVariable AsScalar();
422 ID3D10EffectVectorVariable AsVector();
423 ID3D10EffectMatrixVariable AsMatrix();
424 ID3D10EffectStringVariable AsString();
425 ID3D10EffectShaderResourceVariable AsShaderResource();
426 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
427 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
428 ID3D10EffectConstantBuffer AsConstantBuffer();
429 ID3D10EffectShaderVariable AsShader();
430 ID3D10EffectBlendVariable AsBlend();
431 ID3D10EffectDepthStencilVariable AsDepthStencil();
432 ID3D10EffectRasterizerVariable AsRasterizer();
433 ID3D10EffectSamplerVariable AsSampler();
434 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
435 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
436 HRESULT SetDepthStencil(ID3D10DepthStencilView pResource);
437 HRESULT GetDepthStencil(ID3D10DepthStencilView* ppResource);
438 HRESULT SetDepthStencilArray(ID3D10DepthStencilView* ppResources, UINT Offset, UINT Count);
439 HRESULT GetDepthStencilArray(ID3D10DepthStencilView* ppResources, UINT Offset, UINT Count);
440 */
441 }
442
443 extern (C) const GUID IID_ID3D10EffectConstantBuffer = {0x56648f4d, 0xcc8b, 0x4444, [0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3]};
444
445 interface ID3D10EffectConstantBuffer : ID3D10EffectVariable {
446 /* TODO: fix vtbl[0] bug
447 extern(Windows) :
448 ID3D10EffectType GetType();
449 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
450 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
451 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
452 ID3D10EffectVariable GetMemberByIndex(UINT Index);
453 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
454 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
455 ID3D10EffectVariable GetElement(UINT Index);
456 ID3D10EffectConstantBuffer GetParentConstantBuffer();
457 ID3D10EffectScalarVariable AsScalar();
458 ID3D10EffectVectorVariable AsVector();
459 ID3D10EffectMatrixVariable AsMatrix();
460 ID3D10EffectStringVariable AsString();
461 ID3D10EffectShaderResourceVariable AsShaderResource();
462 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
463 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
464 ID3D10EffectConstantBuffer AsConstantBuffer();
465 ID3D10EffectShaderVariable AsShader();
466 ID3D10EffectBlendVariable AsBlend();
467 ID3D10EffectDepthStencilVariable AsDepthStencil();
468 ID3D10EffectRasterizerVariable AsRasterizer();
469 ID3D10EffectSamplerVariable AsSampler();
470 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
471 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
472 HRESULT SetConstantBuffer(ID3D10Buffer pConstantBuffer);
473 HRESULT GetConstantBuffer(ID3D10Buffer* ppConstantBuffer);
474 HRESULT SetTextureBuffer(ID3D10ShaderResourceView pTextureBuffer);
475 HRESULT GetTextureBuffer(ID3D10ShaderResourceView* ppTextureBuffer);
476 */
477 }
478
479 struct D3D10_EFFECT_SHADER_DESC {
480 BYTE* pInputSignature;
481 BOOL IsInline;
482 BYTE* pBytecode;
483 UINT BytecodeLength;
484 LPCSTR SODecl;
485 UINT NumInputSignatureEntries;
486 UINT NumOutputSignatureEntries;
487 }
488
489 extern (C) const GUID IID_ID3D10EffectShaderVariable = {0x80849279, 0xc799, 0x4797, [0x8c, 0x33, 0x4, 0x7, 0xa0, 0x7d, 0x9e, 0x6]};
490
491 interface ID3D10EffectShaderVariable : ID3D10EffectVariable {
492 /* TODO: fix vtbl[0] bug
493 extern(Windows) :
494 ID3D10EffectType GetType();
495 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
496 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
497 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
498 ID3D10EffectVariable GetMemberByIndex(UINT Index);
499 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
500 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
501 ID3D10EffectVariable GetElement(UINT Index);
502 ID3D10EffectConstantBuffer GetParentConstantBuffer();
503 ID3D10EffectScalarVariable AsScalar();
504 ID3D10EffectVectorVariable AsVector();
505 ID3D10EffectMatrixVariable AsMatrix();
506 ID3D10EffectStringVariable AsString();
507 ID3D10EffectShaderResourceVariable AsShaderResource();
508 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
509 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
510 ID3D10EffectConstantBuffer AsConstantBuffer();
511 ID3D10EffectShaderVariable AsShader();
512 ID3D10EffectBlendVariable AsBlend();
513 ID3D10EffectDepthStencilVariable AsDepthStencil();
514 ID3D10EffectRasterizerVariable AsRasterizer();
515 ID3D10EffectSamplerVariable AsSampler();
516 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
517 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
518 HRESULT GetShaderDesc(UINT ShaderIndex, D3D10_EFFECT_SHADER_DESC* pDesc);
519 HRESULT GetVertexShader(UINT ShaderIndex, ID3D10VertexShader* ppVS);
520 HRESULT GetGeometryShader(UINT ShaderIndex, ID3D10GeometryShader* ppGS);
521 HRESULT GetPixelShader(UINT ShaderIndex, ID3D10PixelShader* ppPS);
522 HRESULT GetInputSignatureElementDesc(UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
523 HRESULT GetOutputSignatureElementDesc(UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
524 */
525 }
526
527 extern (C) const GUID IID_ID3D10EffectBlendVariable = {0x1fcd2294, 0xdf6d, 0x4eae, [0x86, 0xb3, 0xe, 0x91, 0x60, 0xcf, 0xb0, 0x7b]};
528
529 interface ID3D10EffectBlendVariable : ID3D10EffectVariable {
530 /* TODO: fix vtbl[0] bug
531 extern(Windows) :
532 ID3D10EffectType GetType();
533 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
534 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
535 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
536 ID3D10EffectVariable GetMemberByIndex(UINT Index);
537 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
538 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
539 ID3D10EffectVariable GetElement(UINT Index);
540 ID3D10EffectConstantBuffer GetParentConstantBuffer();
541 ID3D10EffectScalarVariable AsScalar();
542 ID3D10EffectVectorVariable AsVector();
543 ID3D10EffectMatrixVariable AsMatrix();
544 ID3D10EffectStringVariable AsString();
545 ID3D10EffectShaderResourceVariable AsShaderResource();
546 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
547 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
548 ID3D10EffectConstantBuffer AsConstantBuffer();
549 ID3D10EffectShaderVariable AsShader();
550 ID3D10EffectBlendVariable AsBlend();
551 ID3D10EffectDepthStencilVariable AsDepthStencil();
552 ID3D10EffectRasterizerVariable AsRasterizer();
553 ID3D10EffectSamplerVariable AsSampler();
554 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
555 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
556 HRESULT GetBlendState(UINT Index, ID3D10BlendState* ppBlendState);
557 HRESULT GetBackingStore(UINT Index, D3D10_BLEND_DESC* pBlendDesc);
558 */
559 }
560
561 extern (C) const GUID IID_ID3D10EffectDepthStencilVariable = {0xaf482368, 0x330a, 0x46a5, [0x9a, 0x5c, 0x1, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d]};
562
563 interface ID3D10EffectDepthStencilVariable : ID3D10EffectVariable {
564 /* TODO: fix vtbl[0] bug
565 extern(Windows) :
566 ID3D10EffectType GetType();
567 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
568 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
569 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
570 ID3D10EffectVariable GetMemberByIndex(UINT Index);
571 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
572 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
573 ID3D10EffectVariable GetElement(UINT Index);
574 ID3D10EffectConstantBuffer GetParentConstantBuffer();
575 ID3D10EffectScalarVariable AsScalar();
576 ID3D10EffectVectorVariable AsVector();
577 ID3D10EffectMatrixVariable AsMatrix();
578 ID3D10EffectStringVariable AsString();
579 ID3D10EffectShaderResourceVariable AsShaderResource();
580 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
581 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
582 ID3D10EffectConstantBuffer AsConstantBuffer();
583 ID3D10EffectShaderVariable AsShader();
584 ID3D10EffectBlendVariable AsBlend();
585 ID3D10EffectDepthStencilVariable AsDepthStencil();
586 ID3D10EffectRasterizerVariable AsRasterizer();
587 ID3D10EffectSamplerVariable AsSampler();
588 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
589 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
590 HRESULT GetDepthStencilState(UINT Index, ID3D10DepthStencilState* ppDepthStencilState);
591 HRESULT GetBackingStore(UINT Index, D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc);
592 */
593 }
594
595 extern (C) const GUID IID_ID3D10EffectRasterizerVariable = {0x21af9f0e, 0x4d94, 0x4ea9, [0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0xb, 0x34]};
596
597 interface ID3D10EffectRasterizerVariable : ID3D10EffectVariable {
598 /* TODO: fix vtbl[0] bug
599 extern(Windows) :
600 ID3D10EffectType GetType();
601 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
602 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
603 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
604 ID3D10EffectVariable GetMemberByIndex(UINT Index);
605 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
606 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
607 ID3D10EffectVariable GetElement(UINT Index);
608 ID3D10EffectConstantBuffer GetParentConstantBuffer();
609 ID3D10EffectScalarVariable AsScalar();
610 ID3D10EffectVectorVariable AsVector();
611 ID3D10EffectMatrixVariable AsMatrix();
612 ID3D10EffectStringVariable AsString();
613 ID3D10EffectShaderResourceVariable AsShaderResource();
614 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
615 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
616 ID3D10EffectConstantBuffer AsConstantBuffer();
617 ID3D10EffectShaderVariable AsShader();
618 ID3D10EffectBlendVariable AsBlend();
619 ID3D10EffectDepthStencilVariable AsDepthStencil();
620 ID3D10EffectRasterizerVariable AsRasterizer();
621 ID3D10EffectSamplerVariable AsSampler();
622 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
623 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
624 HRESULT GetRasterizerState(UINT Index, ID3D10RasterizerState* ppRasterizerState);
625 HRESULT GetBackingStore(UINT Index, D3D10_RASTERIZER_DESC* pRasterizerDesc);
626 */
627 }
628
629 extern (C) const GUID IID_ID3D10EffectSamplerVariable = {0x6530d5c7, 0x07e9, 0x4271, [0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80]};
630
631 interface ID3D10EffectSamplerVariable : ID3D10EffectVariable {
632 /* TODO: fix vtbl[0] bug
633 extern(Windows) :
634 ID3D10EffectType GetType();
635 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc);
636 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
637 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
638 ID3D10EffectVariable GetMemberByIndex(UINT Index);
639 ID3D10EffectVariable GetMemberByName(LPCSTR Name);
640 ID3D10EffectVariable GetMemberBySemantic(LPCSTR Semantic);
641 ID3D10EffectVariable GetElement(UINT Index);
642 ID3D10EffectConstantBuffer GetParentConstantBuffer();
643 ID3D10EffectScalarVariable AsScalar();
644 ID3D10EffectVectorVariable AsVector();
645 ID3D10EffectMatrixVariable AsMatrix();
646 ID3D10EffectStringVariable AsString();
647 ID3D10EffectShaderResourceVariable AsShaderResource();
648 ID3D10EffectRenderTargetViewVariable AsRenderTargetView();
649 ID3D10EffectDepthStencilViewVariable AsDepthStencilView();
650 ID3D10EffectConstantBuffer AsConstantBuffer();
651 ID3D10EffectShaderVariable AsShader();
652 ID3D10EffectBlendVariable AsBlend();
653 ID3D10EffectDepthStencilVariable AsDepthStencil();
654 ID3D10EffectRasterizerVariable AsRasterizer();
655 ID3D10EffectSamplerVariable AsSampler();
656 HRESULT SetRawValue(void* pData, UINT Offset, UINT Count);
657 HRESULT GetRawValue(void* pData, UINT Offset, UINT Count);
658 HRESULT GetSampler(UINT Index, ID3D10SamplerState* ppSampler);
659 HRESULT GetBackingStore(UINT Index, D3D10_SAMPLER_DESC* pSamplerDesc);
660 */
661 }
662
663 struct D3D10_PASS_DESC {
664 LPCSTR Name;
665 UINT Annotations;
666 BYTE* pIAInputSignature;
667 SIZE_T IAInputSignatureSize;
668 UINT StencilRef;
669 UINT SampleMask;
670 FLOAT[4] BlendFactor;
671 }
672
673 struct D3D10_PASS_SHADER_DESC {
674 ID3D10EffectShaderVariable pShaderVariable;
675 UINT ShaderIndex;
676 }
677
678 extern (C) const GUID IID_ID3D10EffectPass = {0x5cfbeb89, 0x1a06, 0x46e0, [0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54]};
679
680 /+interface ID3D10EffectPass {
681 /* TODO: fix vtbl[0] bug
682 extern(Windows) :
683 BOOL IsValid();
684 HRESULT GetDesc(D3D10_PASS_DESC* pDesc);
685 HRESULT GetVertexShaderDesc(D3D10_PASS_SHADER_DESC* pDesc);
686 HRESULT GetGeometryShaderDesc(D3D10_PASS_SHADER_DESC* pDesc);
687 HRESULT GetPixelShaderDesc(D3D10_PASS_SHADER_DESC* pDesc);
688 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
689 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
690 HRESULT Apply(UINT Flags);
691 HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK* pStateBlockMask);
692 */
693 }+/
694 /**
695 * HACK to FIX vtbl[0] bug:
696 * This is an example HACK how to fix all interfaces which are NOT derived from
697 * IUnknown. They need the first entry in their vtbl[] point to the first
698 * virtual function.
699 * See:
700 * http://www.digitalmars.com/d/cpp_interface.html
701 * http://d.puremagic.com/issues/show_bug.cgi?id=1687
702 */
703 struct ID3D10EffectPassVtbl {
704 extern(Windows) :
705 BOOL function(ID3D10EffectPass) IsValid;
706 HRESULT function(ID3D10EffectPass, D3D10_PASS_DESC* pDesc) GetDesc;
707 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetVertexShaderDesc;
708 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetGeometryShaderDesc;
709 HRESULT function(ID3D10EffectPass, D3D10_PASS_SHADER_DESC* pDesc) GetPixelShaderDesc;
710 ID3D10EffectVariable function(ID3D10EffectPass, UINT Index) GetAnnotationByIndex;
711 ID3D10EffectVariable function(ID3D10EffectPass, LPCSTR Name) GetAnnotationByName;
712 HRESULT function(ID3D10EffectPass, UINT Flags) Apply;
713 HRESULT function(ID3D10EffectPass, D3D10_STATE_BLOCK_MASK* pStateBlockMask) ComputeStateBlockMask;
714 }
715 alias ID3D10EffectPassVtbl** ID3D10EffectPass;
716
717 struct D3D10_TECHNIQUE_DESC {
718 LPCSTR Name;
719 UINT Passes;
720 UINT Annotations;
721 }
722
723 extern (C) const GUID IID_ID3D10EffectTechnique = {0xdb122ce8, 0xd1c9, 0x4292, [0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75]};
724
725 /+interface ID3D10EffectTechnique {
726 /* TODO: fix vtbl[0] bug
727 extern(Windows) :
728 BOOL IsValid();
729 HRESULT GetDesc(D3D10_TECHNIQUE_DESC* pDesc);
730 ID3D10EffectVariable GetAnnotationByIndex(UINT Index);
731 ID3D10EffectVariable GetAnnotationByName(LPCSTR Name);
732 ID3D10EffectPass GetPassByIndex(UINT Index);
733 ID3D10EffectPass GetPassByName(LPCSTR Name);
734 HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK* pStateBlockMask);
735 */
736 }+/
737 /**
738 * HACK to FIX vtbl[0] bug:
739 * This is an example HACK how to fix all interfaces which are NOT derived from
740 * IUnknown. They need the first entry in their vtbl[] point to the first
741 * virtual function.
742 * See:
743 * http://www.digitalmars.com/d/cpp_interface.html
744 * http://d.puremagic.com/issues/show_bug.cgi?id=1687
745 */
746 struct ID3D10EffectTechniqueVtbl {
747 extern(Windows) :
748 BOOL function(ID3D10EffectTechnique) IsValid;
749 HRESULT function(ID3D10EffectTechnique, D3D10_TECHNIQUE_DESC* pDesc) GetDesc;
750 ID3D10EffectVariable function(ID3D10EffectTechnique, UINT Index) GetAnnotationByIndex;
751 ID3D10EffectVariable function(ID3D10EffectTechnique, LPCSTR Name) GetAnnotationByName;
752 ID3D10EffectPass function(ID3D10EffectTechnique, UINT Index) GetPassByIndex;
753 ID3D10EffectPass function(ID3D10EffectTechnique, LPCSTR Name) GetPassByName;
754 HRESULT function(ID3D10EffectTechnique, D3D10_STATE_BLOCK_MASK* pStateBlockMask) ComputeStateBlockMask;
755 }
756 alias ID3D10EffectTechniqueVtbl** ID3D10EffectTechnique;
757
758 struct D3D10_EFFECT_DESC {
759 BOOL IsChildEffect;
760 UINT ConstantBuffers;
761 UINT SharedConstantBuffers;
762 UINT GlobalVariables;
763 UINT SharedGlobalVariables;
764 UINT Techniques;
765 }
766
767 extern (C) const GUID IID_ID3D10Effect = {0x51b0ca8b, 0xec0b, 0x4519, [0x87, 0xd, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7]};
768
769 interface ID3D10Effect : IUnknown {
770 extern(Windows) :
771 BOOL IsValid();
772 BOOL IsPool();
773 HRESULT GetDevice(ID3D10Device* ppDevice);
774 HRESULT GetDesc(D3D10_EFFECT_DESC* pDesc);
775 ID3D10EffectConstantBuffer GetConstantBufferByIndex(UINT Index);
776 ID3D10EffectConstantBuffer GetConstantBufferByName(LPCSTR Name);
777 ID3D10EffectVariable GetVariableByIndex(UINT Index);
778 ID3D10EffectVariable GetVariableByName(LPCSTR Name);
779 ID3D10EffectVariable GetVariableBySemantic(LPCSTR Semantic);
780 ID3D10EffectTechnique GetTechniqueByIndex(UINT Index);
781 ID3D10EffectTechnique GetTechniqueByName(LPCSTR Name);
782 HRESULT Optimize();
783 BOOL IsOptimized();
784 }
785
786 extern (C) const GUID IID_ID3D10EffectPool = {0x9537ab04, 0x3250, 0x412e, [0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33]};
787
788 interface ID3D10EffectPool : IUnknown {
789 extern(Windows) :
790 ID3D10Effect AsEffect();
791 }
792
793 HRESULT D3D10CompileEffectFromMemory(void* pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include pInclude, UINT HLSLFlags, UINT FXFlags, ID3D10Blob* ppCompiledEffect, ID3D10Blob* ppErrors);
794 HRESULT D3D10CreateEffectFromMemory(void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device pDevice, ID3D10EffectPool pEffectPool, ID3D10Effect* ppEffect);
795 HRESULT D3D10CreateEffectPoolFromMemory(void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device pDevice, ID3D10EffectPool* ppEffectPool);
796 HRESULT D3D10DisassembleEffect(ID3D10Effect pEffect, BOOL EnableColorCode, ID3D10Blob* ppDisassembly);