RetroArch
d3d10effect.h
Go to the documentation of this file.
1 
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // File: D3D10Effect.h
7 // Content: D3D10 Stateblock/Effect Types & APIs
8 //
10 
11 #ifndef __D3D10EFFECT_H__
12 #define __D3D10EFFECT_H__
13 
14 /*#include <winapifamily.h>*/
15 
16 /*#pragma region Desktop Family*/
17 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
18 
19 #include "d3d10.h"
20 
22 // File contents:
23 //
24 // 1) Stateblock enums, structs, interfaces, flat APIs
25 // 2) Effect enums, structs, interfaces, flat APIs
27 
28 //----------------------------------------------------------------------------
29 // D3D10_DEVICE_STATE_TYPES:
30 //
31 // Used in ID3D10StateBlockMask function calls
32 //
33 //----------------------------------------------------------------------------
34 
36 {
37 
38  D3D10_DST_SO_BUFFERS=1, // Single-value state (atomical gets/sets)
39  D3D10_DST_OM_RENDER_TARGETS, // Single-value state (atomical gets/sets)
40  D3D10_DST_OM_DEPTH_STENCIL_STATE, // Single-value state
41  D3D10_DST_OM_BLEND_STATE, // Single-value state
42 
43  D3D10_DST_VS, // Single-value state
44  D3D10_DST_VS_SAMPLERS, // Count: D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT
45  D3D10_DST_VS_SHADER_RESOURCES, // Count: D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT
47 
48  D3D10_DST_GS, // Single-value state
49  D3D10_DST_GS_SAMPLERS, // Count: D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT
50  D3D10_DST_GS_SHADER_RESOURCES, // Count: D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT
51  D3D10_DST_GS_CONSTANT_BUFFERS, // Count: D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT
52 
53  D3D10_DST_PS, // Single-value state
54  D3D10_DST_PS_SAMPLERS, // Count: D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT
55  D3D10_DST_PS_SHADER_RESOURCES, // Count: D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT
56  D3D10_DST_PS_CONSTANT_BUFFERS, // Count: D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT
57 
58  D3D10_DST_IA_VERTEX_BUFFERS, // Count: D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT
59  D3D10_DST_IA_INDEX_BUFFER, // Single-value state
60  D3D10_DST_IA_INPUT_LAYOUT, // Single-value state
61  D3D10_DST_IA_PRIMITIVE_TOPOLOGY, // Single-value state
62 
63  D3D10_DST_RS_VIEWPORTS, // Single-value state (atomical gets/sets)
64  D3D10_DST_RS_SCISSOR_RECTS, // Single-value state (atomical gets/sets)
65  D3D10_DST_RS_RASTERIZER_STATE, // Single-value state
66 
67  D3D10_DST_PREDICATION, // Single-value state
69 
70 //----------------------------------------------------------------------------
71 // D3D10_DEVICE_STATE_TYPES:
72 //
73 // Used in ID3D10StateBlockMask function calls
74 //
75 //----------------------------------------------------------------------------
76 
77 #ifndef D3D10_BYTES_FROM_BITS
78 #define D3D10_BYTES_FROM_BITS(x) (((x) + 7) / 8)
79 #endif // D3D10_BYTES_FROM_BITS
80 
82 {
83  BYTE VS;
84  BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
87 
88  BYTE GS;
89  BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
92 
93  BYTE PS;
94  BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
97 
102 
106 
110 
111  BYTE SOBuffers;
112 
115 
117 // ID3D10StateBlock //////////////////////////////////////////////////////////
119 
122 
123 // {0803425A-57F5-4dd6-9465-A87570834A08}
124 DEFINE_GUID(IID_ID3D10StateBlock,
125 0x803425a, 0x57f5, 0x4dd6, 0x94, 0x65, 0xa8, 0x75, 0x70, 0x83, 0x4a, 0x8);
126 
127 #undef INTERFACE
128 #define INTERFACE ID3D10StateBlock
129 
131 {
132  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
133  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
134  STDMETHOD_(ULONG, Release)(THIS) PURE;
135 
136  STDMETHOD(Capture)(THIS) PURE;
137  STDMETHOD(Apply)(THIS) PURE;
138  STDMETHOD(ReleaseAllDeviceObjects)(THIS) PURE;
139  STDMETHOD(GetDevice)(_Out_ THIS_ ID3D10Device **ppDevice) PURE;
140 };
141 
142 #ifdef __cplusplus
143 extern "C" {
144 #endif //__cplusplus
145 
146 //----------------------------------------------------------------------------
147 // D3D10_STATE_BLOCK_MASK and manipulation functions
148 // -------------------------------------------------
149 //
150 // These functions exist to facilitate working with the D3D10_STATE_BLOCK_MASK
151 // structure.
152 //
153 // D3D10_STATE_BLOCK_MASK *pResult or *pMask
154 // The state block mask to operate on
155 //
156 // D3D10_STATE_BLOCK_MASK *pA, *pB
157 // The source state block masks for the binary union/intersect/difference
158 // operations.
159 //
160 // D3D10_DEVICE_STATE_TYPES StateType
161 // The specific state type to enable/disable/query
162 //
163 // UINT RangeStart, RangeLength, Entry
164 // The specific bit or range of bits for a given state type to operate on.
165 // Consult the comments for D3D10_DEVICE_STATE_TYPES and
166 // D3D10_STATE_BLOCK_MASK for information on the valid bit ranges for
167 // each state.
168 //
169 //----------------------------------------------------------------------------
170 
174 HRESULT WINAPI D3D10StateBlockMaskEnableCapture(_Inout_ D3D10_STATE_BLOCK_MASK *pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength);
175 HRESULT WINAPI D3D10StateBlockMaskDisableCapture(_Inout_ D3D10_STATE_BLOCK_MASK *pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength);
179 
180 //----------------------------------------------------------------------------
181 // D3D10CreateStateBlock
182 // ---------------------
183 //
184 // Creates a state block object based on the mask settings specified
185 // in a D3D10_STATE_BLOCK_MASK structure.
186 //
187 // ID3D10Device *pDevice
188 // The device interface to associate with this state block
189 //
190 // D3D10_STATE_BLOCK_MASK *pStateBlockMask
191 // A bit mask whose settings are used to generate a state block
192 // object.
193 //
194 // ID3D10StateBlock **ppStateBlock
195 // The resulting state block object. This object will save/restore
196 // only those pieces of state that were set in the state block
197 // bit mask
198 //----------------------------------------------------------------------------
199 
200 HRESULT WINAPI D3D10CreateStateBlock(_In_ ID3D10Device *pDevice, _In_ D3D10_STATE_BLOCK_MASK *pStateBlockMask, _Out_ ID3D10StateBlock **ppStateBlock);
201 
202 #ifdef __cplusplus
203 }
204 #endif //__cplusplus
205 
206 //----------------------------------------------------------------------------
207 // D3D10_COMPILE & D3D10_EFFECT flags:
208 // -------------------------------------
209 //
210 // These flags are passed in when creating an effect, and affect
211 // either compilation behavior or runtime effect behavior
212 //
213 // D3D10_EFFECT_COMPILE_CHILD_EFFECT
214 // Compile this .fx file to a child effect. Child effects have no initializers
215 // for any shared values as these are initialied in the master effect (pool).
216 //
217 // D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS
218 // By default, performance mode is enabled. Performance mode disallows
219 // mutable state objects by preventing non-literal expressions from appearing in
220 // state object definitions. Specifying this flag will disable the mode and allow
221 // for mutable state objects.
222 //
223 // D3D10_EFFECT_SINGLE_THREADED
224 // Do not attempt to synchronize with other threads loading effects into the
225 // same pool.
226 //
227 //----------------------------------------------------------------------------
228 
229 #define D3D10_EFFECT_COMPILE_CHILD_EFFECT (1 << 0)
230 #define D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS (1 << 1)
231 #define D3D10_EFFECT_SINGLE_THREADED (1 << 3)
232 
233 
234 //----------------------------------------------------------------------------
235 // D3D10_EFFECT_VARIABLE flags:
236 // ----------------------------
237 //
238 // These flags describe an effect variable (global or annotation),
239 // and are returned in D3D10_EFFECT_VARIABLE_DESC::Flags.
240 //
241 // D3D10_EFFECT_VARIABLE_POOLED
242 // Indicates that the this variable or constant buffer resides
243 // in an effect pool. If this flag is not set, then the variable resides
244 // in a standalone effect (if ID3D10Effect::GetPool returns NULL)
245 // or a child effect (if ID3D10Effect::GetPool returns non-NULL)
246 //
247 // D3D10_EFFECT_VARIABLE_ANNOTATION
248 // Indicates that this is an annotation on a technique, pass, or global
249 // variable. Otherwise, this is a global variable. Annotations cannot
250 // be shared.
251 //
252 // D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT
253 // Indicates that the variable has been explicitly bound using the
254 // register keyword.
255 //----------------------------------------------------------------------------
256 
257 #define D3D10_EFFECT_VARIABLE_POOLED (1 << 0)
258 #define D3D10_EFFECT_VARIABLE_ANNOTATION (1 << 1)
259 #define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT (1 << 2)
260 
262 // ID3D10EffectType //////////////////////////////////////////////////////////
264 
265 //----------------------------------------------------------------------------
266 // D3D10_EFFECT_TYPE_DESC:
267 //
268 // Retrieved by ID3D10EffectType::GetDesc()
269 //----------------------------------------------------------------------------
270 
272 {
273  LPCSTR TypeName; // Name of the type
274  // (e.g. "float4" or "MyStruct")
275 
276  D3D10_SHADER_VARIABLE_CLASS Class; // (e.g. scalar, vector, object, etc.)
277  D3D10_SHADER_VARIABLE_TYPE Type; // (e.g. float, texture, vertexshader, etc.)
278 
279  UINT Elements; // Number of elements in this type
280  // (0 if not an array)
281  UINT Members; // Number of members
282  // (0 if not a structure)
283  UINT Rows; // Number of rows in this type
284  // (0 if not a numeric primitive)
285  UINT Columns; // Number of columns in this type
286  // (0 if not a numeric primitive)
287 
288  UINT PackedSize; // Number of bytes required to represent
289  // this data type, when tightly packed
290  UINT UnpackedSize; // Number of bytes occupied by this data
291  // type, when laid out in a constant buffer
292  UINT Stride; // Number of bytes to seek between elements,
293  // when laid out in a constant buffer
295 
298 
299 // {4E9E1DDC-CD9D-4772-A837-00180B9B88FD}
300 DEFINE_GUID(IID_ID3D10EffectType,
301 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x0, 0x18, 0xb, 0x9b, 0x88, 0xfd);
302 
303 #undef INTERFACE
304 #define INTERFACE ID3D10EffectType
305 
307 {
308  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
309  STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *pDesc) PURE;
310  STDMETHOD_(ID3D10EffectType*, GetMemberTypeByIndex)(THIS_ UINT Index) PURE;
311  STDMETHOD_(ID3D10EffectType*, GetMemberTypeByName)(THIS_ LPCSTR Name) PURE;
312  STDMETHOD_(ID3D10EffectType*, GetMemberTypeBySemantic)(THIS_ LPCSTR Semantic) PURE;
313  STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT Index) PURE;
314  STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT Index) PURE;
315 };
316 
318 // ID3D10EffectVariable //////////////////////////////////////////////////////
320 
321 //----------------------------------------------------------------------------
322 // D3D10_EFFECT_VARIABLE_DESC:
323 //
324 // Retrieved by ID3D10EffectVariable::GetDesc()
325 //----------------------------------------------------------------------------
326 
328 {
329  LPCSTR Name; // Name of this variable, annotation,
330  // or structure member
331  LPCSTR Semantic; // Semantic string of this variable
332  // or structure member (NULL for
333  // annotations or if not present)
334 
335  UINT Flags; // D3D10_EFFECT_VARIABLE_* flags
336  UINT Annotations; // Number of annotations on this variable
337  // (always 0 for annotations)
338 
339  UINT BufferOffset; // Offset into containing cbuffer or tbuffer
340  // (always 0 for annotations or variables
341  // not in constant buffers)
342 
343  UINT ExplicitBindPoint; // Used if the variable has been explicitly bound
344  // using the register keyword. Check Flags for
345  // D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT;
347 
350 
351 // {AE897105-00E6-45bf-BB8E-281DD6DB8E1B}
352 DEFINE_GUID(IID_ID3D10EffectVariable,
353 0xae897105, 0xe6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
354 
355 #undef INTERFACE
356 #define INTERFACE ID3D10EffectVariable
357 
358 // Forward defines
372 
374 {
375  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
376  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
377  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
378 
379  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
380  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
381 
382  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
383  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
384  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
385 
386  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
387 
388  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
389 
390  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
391  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
392  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
393  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
394  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
395  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
396  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
397  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
398  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
399  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
400  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
401  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
402  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
403 
404  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
405  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
406 };
407 
409 // ID3D10EffectScalarVariable ////////////////////////////////////////////////
411 
414 
415 // {00E48F7B-D2C8-49e8-A86C-022DEE53431F}
416 DEFINE_GUID(IID_ID3D10EffectScalarVariable,
417 0xe48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x2, 0x2d, 0xee, 0x53, 0x43, 0x1f);
418 
419 #undef INTERFACE
420 #define INTERFACE ID3D10EffectScalarVariable
421 
423 {
424  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
425  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
426  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
427 
428  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
429  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
430 
431  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
432  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
433  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
434 
435  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
436 
437  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
438 
439  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
440  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
441  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
442  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
443  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
444  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
445  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
446  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
447  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
448  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
449  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
450  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
451  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
452 
453  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
454  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
455 
456  STDMETHOD(SetFloat)(THIS_ float Value) PURE;
457  STDMETHOD(GetFloat)(THIS_ _Out_ float *pValue) PURE;
458 
459  STDMETHOD(SetFloatArray)(THIS_ _In_reads_(Count) float *pData, UINT Offset, UINT Count) PURE;
460  STDMETHOD(GetFloatArray)(THIS_ _Out_writes_(Count) float *pData, UINT Offset, UINT Count) PURE;
461 
462  STDMETHOD(SetInt)(THIS_ int Value) PURE;
463  STDMETHOD(GetInt)(THIS_ _Out_ int *pValue) PURE;
464 
465  STDMETHOD(SetIntArray)(THIS_ _In_reads_(Count) int *pData, UINT Offset, UINT Count) PURE;
466  STDMETHOD(GetIntArray)(THIS_ _Out_writes_(Count) int *pData, UINT Offset, UINT Count) PURE;
467 
468  STDMETHOD(SetBool)(THIS_ BOOL Value) PURE;
469  STDMETHOD(GetBool)(THIS_ _Out_ BOOL *pValue) PURE;
470 
471  STDMETHOD(SetBoolArray)(THIS_ _In_reads_(Count) BOOL *pData, UINT Offset, UINT Count) PURE;
472  STDMETHOD(GetBoolArray)(THIS_ _Out_writes_(Count) BOOL *pData, UINT Offset, UINT Count) PURE;
473 };
474 
476 // ID3D10EffectVectorVariable ////////////////////////////////////////////////
478 
481 
482 // {62B98C44-1F82-4c67-BCD0-72CF8F217E81}
483 DEFINE_GUID(IID_ID3D10EffectVectorVariable,
484 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
485 
486 #undef INTERFACE
487 #define INTERFACE ID3D10EffectVectorVariable
488 
490 {
491  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
492  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
493  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
494 
495  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
496  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
497 
498  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
499  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
500  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
501 
502  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
503 
504  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
505 
506  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
507  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
508  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
509  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
510  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
511  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
512  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
513  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
514  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
515  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
516  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
517  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
518  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
519 
520  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
521  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
522 
523  STDMETHOD(SetBoolVector) (THIS_ BOOL *pData) PURE;
524  STDMETHOD(SetIntVector) (THIS_ int *pData) PURE;
525  STDMETHOD(SetFloatVector)(THIS_ float *pData) PURE;
526 
527  STDMETHOD(GetBoolVector) (THIS_ BOOL *pData) PURE;
528  STDMETHOD(GetIntVector) (THIS_ int *pData) PURE;
529  STDMETHOD(GetFloatVector)(THIS_ float *pData) PURE;
530 
531  STDMETHOD(SetBoolVectorArray) (THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
532  STDMETHOD(SetIntVectorArray) (THIS_ int *pData, UINT Offset, UINT Count) PURE;
533  STDMETHOD(SetFloatVectorArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
534 
535  STDMETHOD(GetBoolVectorArray) (THIS_ BOOL *pData, UINT Offset, UINT Count) PURE;
536  STDMETHOD(GetIntVectorArray) (THIS_ int *pData, UINT Offset, UINT Count) PURE;
537  STDMETHOD(GetFloatVectorArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
538 };
539 
541 // ID3D10EffectMatrixVariable ////////////////////////////////////////////////
543 
546 
547 // {50666C24-B82F-4eed-A172-5B6E7E8522E0}
548 DEFINE_GUID(IID_ID3D10EffectMatrixVariable,
549 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
550 
551 #undef INTERFACE
552 #define INTERFACE ID3D10EffectMatrixVariable
553 
555 {
556  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
557  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
558  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
559 
560  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
561  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
562 
563  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
564  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
565  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
566 
567  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
568 
569  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
570 
571  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
572  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
573  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
574  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
575  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
576  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
577  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
578  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
579  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
580  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
581  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
582  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
583  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
584 
585  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
586  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT ByteOffset, UINT ByteCount) PURE;
587 
588  STDMETHOD(SetMatrix)(THIS_ float *pData) PURE;
589  STDMETHOD(GetMatrix)(THIS_ float *pData) PURE;
590 
591  STDMETHOD(SetMatrixArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
592  STDMETHOD(GetMatrixArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
593 
594  STDMETHOD(SetMatrixTranspose)(THIS_ float *pData) PURE;
595  STDMETHOD(GetMatrixTranspose)(THIS_ float *pData) PURE;
596 
597  STDMETHOD(SetMatrixTransposeArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
598  STDMETHOD(GetMatrixTransposeArray)(THIS_ float *pData, UINT Offset, UINT Count) PURE;
599 };
600 
602 // ID3D10EffectStringVariable ////////////////////////////////////////////////
604 
607 
608 // {71417501-8DF9-4e0a-A78A-255F9756BAFF}
609 DEFINE_GUID(IID_ID3D10EffectStringVariable,
610 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff);
611 
612 #undef INTERFACE
613 #define INTERFACE ID3D10EffectStringVariable
614 
616 {
617  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
618  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
619  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
620 
621  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
622  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
623 
624  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
625  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
626  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
627 
628  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
629 
630  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
631 
632  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
633  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
634  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
635  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
636  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
637  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
638  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
639  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
640  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
641  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
642  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
643  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
644  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
645 
646  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
647  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
648 
649  STDMETHOD(GetString)(THIS_ _Out_ LPCSTR *ppString) PURE;
650  STDMETHOD(GetStringArray)(THIS_ _Out_writes_(Count) LPCSTR *ppStrings, UINT Offset, UINT Count) PURE;
651 };
652 
654 // ID3D10EffectShaderResourceVariable ////////////////////////////////////////
656 
659 
660 // {C0A7157B-D872-4b1d-8073-EFC2ACD4B1FC}
661 DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
662 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
663 
664 
665 #undef INTERFACE
666 #define INTERFACE ID3D10EffectShaderResourceVariable
667 
669 {
670  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
671  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
672  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
673 
674  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
675  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
676 
677  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
678  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
679  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
680 
681  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
682 
683  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
684 
685  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
686  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
687  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
688  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
689  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
690  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
691  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
692  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
693  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
694  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
695  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
696  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
697  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
698 
699  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
700  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
701 
702  STDMETHOD(SetResource)(THIS_ _In_opt_ ID3D10ShaderResourceView *pResource) PURE;
703  STDMETHOD(GetResource)(THIS_ _Out_ ID3D10ShaderResourceView **ppResource) PURE;
704 
705  STDMETHOD(SetResourceArray)(THIS_ _In_reads_(Count) ID3D10ShaderResourceView **ppResources, UINT Offset, UINT Count) PURE;
706  STDMETHOD(GetResourceArray)(THIS_ _Out_writes_(Count) ID3D10ShaderResourceView **ppResources, UINT Offset, UINT Count) PURE;
707 };
708 
710 // ID3D10EffectRenderTargetViewVariable //////////////////////////////////////
712 
715 
716 // {28CA0CC3-C2C9-40bb-B57F-67B737122B17}
717 DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
718 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
719 
720 #undef INTERFACE
721 #define INTERFACE ID3D10EffectRenderTargetViewVariable
722 
724 {
725  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
726  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
727  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
728 
729  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
730  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
731 
732  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
733  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
734  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
735 
736  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
737 
738  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
739 
740  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
741  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
742  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
743  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
744  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
745  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
746  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
747  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
748  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
749  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
750  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
751  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
752  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
753 
754  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
755  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
756 
757  STDMETHOD(SetRenderTarget)(THIS_ _In_opt_ ID3D10RenderTargetView *pResource) PURE;
758  STDMETHOD(GetRenderTarget)(THIS_ _Out_ ID3D10RenderTargetView **ppResource) PURE;
759 
760  STDMETHOD(SetRenderTargetArray)(THIS_ _In_reads_(Count) ID3D10RenderTargetView **ppResources, UINT Offset, UINT Count) PURE;
761  STDMETHOD(GetRenderTargetArray)(THIS_ _Out_writes_(Count) ID3D10RenderTargetView **ppResources, UINT Offset, UINT Count) PURE;
762 };
763 
765 // ID3D10EffectDepthStencilViewVariable //////////////////////////////////////
767 
770 
771 // {3E02C918-CC79-4985-B622-2D92AD701623}
772 DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
773 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
774 
775 #undef INTERFACE
776 #define INTERFACE ID3D10EffectDepthStencilViewVariable
777 
779 {
780  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
781  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
782  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
783 
784  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
785  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
786 
787  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
788  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
789  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
790 
791  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
792 
793  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
794 
795  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
796  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
797  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
798  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
799  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
800  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
801  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
802  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
803  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
804  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
805  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
806  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
807  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
808 
809  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
810  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
811 
812  STDMETHOD(SetDepthStencil)(THIS_ _In_opt_ ID3D10DepthStencilView *pResource) PURE;
813  STDMETHOD(GetDepthStencil)(THIS_ _Out_ ID3D10DepthStencilView **ppResource) PURE;
814 
815  STDMETHOD(SetDepthStencilArray)(THIS_ _In_reads_(Count) ID3D10DepthStencilView **ppResources, UINT Offset, UINT Count) PURE;
816  STDMETHOD(GetDepthStencilArray)(THIS_ _Out_writes_(Count) ID3D10DepthStencilView **ppResources, UINT Offset, UINT Count) PURE;
817 };
818 
820 // ID3D10EffectConstantBuffer ////////////////////////////////////////////////
822 
825 
826 // {56648F4D-CC8B-4444-A5AD-B5A3D76E91B3}
827 DEFINE_GUID(IID_ID3D10EffectConstantBuffer,
828 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3);
829 
830 #undef INTERFACE
831 #define INTERFACE ID3D10EffectConstantBuffer
832 
834 {
835  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
836  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
837 
838  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
839  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
840 
841  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
842  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
843  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
844 
845  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
846 
847  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
848 
849  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
850  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
851  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
852  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
853  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
854  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
855  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
856  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
857  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
858  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
859  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
860  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
861  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
862 
863  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
864  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
865 
866  STDMETHOD(SetConstantBuffer)(THIS_ _In_opt_ ID3D10Buffer *pConstantBuffer) PURE;
867  STDMETHOD(GetConstantBuffer)(THIS_ _Out_ ID3D10Buffer **ppConstantBuffer) PURE;
868 
869  STDMETHOD(SetTextureBuffer)(THIS_ _In_opt_ ID3D10ShaderResourceView *pTextureBuffer) PURE;
870  STDMETHOD(GetTextureBuffer)(THIS_ _Out_ ID3D10ShaderResourceView **ppTextureBuffer) PURE;
871 };
872 
874 // ID3D10EffectShaderVariable ////////////////////////////////////////////////
876 
877 //----------------------------------------------------------------------------
878 // D3D10_EFFECT_SHADER_DESC:
879 //
880 // Retrieved by ID3D10EffectShaderVariable::GetShaderDesc()
881 //----------------------------------------------------------------------------
882 
884 {
885  CONST BYTE *pInputSignature; // Passed into CreateInputLayout,
886  // valid on VS and GS only
887 
888  BOOL IsInline; // Is this an anonymous shader variable
889  // resulting from an inline shader assignment?
890 
891 
892  // -- The following fields are not valid after Optimize() --
893  CONST BYTE *pBytecode; // Shader bytecode
895 
896  LPCSTR SODecl; // Stream out declaration string (for GS with SO)
897 
898  UINT NumInputSignatureEntries; // Number of entries in the input signature
899  UINT NumOutputSignatureEntries; // Number of entries in the output signature
901 
902 
905 
906 // {80849279-C799-4797-8C33-0407A07D9E06}
907 DEFINE_GUID(IID_ID3D10EffectShaderVariable,
908 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x4, 0x7, 0xa0, 0x7d, 0x9e, 0x6);
909 
910 #undef INTERFACE
911 #define INTERFACE ID3D10EffectShaderVariable
912 
914 {
915  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
916  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
917 
918  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
919  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
920 
921  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
922  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
923  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
924 
925  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
926 
927  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
928 
929  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
930  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
931  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
932  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
933  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
934  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
935  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
936  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
937  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
938  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
939  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
940  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
941  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
942 
943  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
944  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
945 
946  STDMETHOD(GetShaderDesc)(THIS_ UINT ShaderIndex, _Out_ D3D10_EFFECT_SHADER_DESC *pDesc) PURE;
947 
948  STDMETHOD(GetVertexShader)(THIS_ UINT ShaderIndex, _Out_ ID3D10VertexShader **ppVS) PURE;
949  STDMETHOD(GetGeometryShader)(THIS_ UINT ShaderIndex, _Out_ ID3D10GeometryShader **ppGS) PURE;
950  STDMETHOD(GetPixelShader)(THIS_ UINT ShaderIndex, _Out_ ID3D10PixelShader **ppPS) PURE;
951 
952  STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT ShaderIndex, UINT Element, _Out_ D3D10_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
953  STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT ShaderIndex, UINT Element, _Out_ D3D10_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
954 };
955 
957 // ID3D10EffectBlendVariable /////////////////////////////////////////////////
959 
962 
963 // {1FCD2294-DF6D-4eae-86B3-0E9160CFB07B}
964 DEFINE_GUID(IID_ID3D10EffectBlendVariable,
965 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0xe, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
966 
967 #undef INTERFACE
968 #define INTERFACE ID3D10EffectBlendVariable
969 
971 {
972  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
973  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
974 
975  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
976  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
977 
978  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
979  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
980  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
981 
982  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
983 
984  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
985 
986  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
987  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
988  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
989  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
990  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
991  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
992  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
993  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
994  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
995  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
996  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
997  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
998  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
999 
1000  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1001  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1002 
1003  STDMETHOD(GetBlendState)(THIS_ UINT Index, ID3D10BlendState **ppBlendState) PURE;
1004  STDMETHOD(GetBackingStore)(THIS_ UINT Index, D3D10_BLEND_DESC *pBlendDesc) PURE;
1005 };
1006 
1008 // ID3D10EffectDepthStencilVariable //////////////////////////////////////////
1010 
1013 
1014 // {AF482368-330A-46a5-9A5C-01C71AF24C8D}
1015 DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
1016 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x1, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
1017 
1018 #undef INTERFACE
1019 #define INTERFACE ID3D10EffectDepthStencilVariable
1020 
1022 {
1023  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
1024  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
1025 
1026  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
1027  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
1028 
1029  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
1030  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
1031  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
1032 
1033  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
1034 
1035  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
1036 
1037  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
1038  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
1039  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
1040  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
1041  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
1042  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
1043  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
1044  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
1045  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
1046  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
1047  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
1048  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
1049  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
1050 
1051  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1052  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1053 
1054  STDMETHOD(GetDepthStencilState)(THIS_ UINT Index, _Out_ ID3D10DepthStencilState **ppDepthStencilState) PURE;
1055  STDMETHOD(GetBackingStore)(THIS_ UINT Index, _Out_ D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc) PURE;
1056 };
1057 
1059 // ID3D10EffectRasterizerVariable ////////////////////////////////////////////
1061 
1064 
1065 // {21AF9F0E-4D94-4ea9-9785-2CB76B8C0B34}
1066 DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
1067 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0xb, 0x34);
1068 
1069 #undef INTERFACE
1070 #define INTERFACE ID3D10EffectRasterizerVariable
1071 
1073 {
1074  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
1075  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
1076 
1077  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
1078  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
1079 
1080  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
1081  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
1082  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
1083 
1084  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
1085 
1086  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
1087 
1088  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
1089  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
1090  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
1091  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
1092  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
1093  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
1094  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
1095  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
1096  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
1097  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
1098  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
1099  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
1100  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
1101 
1102  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1103  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1104 
1105  STDMETHOD(GetRasterizerState)(THIS_ UINT Index, _Out_ ID3D10RasterizerState **ppRasterizerState) PURE;
1106  STDMETHOD(GetBackingStore)(THIS_ UINT Index, _Out_ D3D10_RASTERIZER_DESC *pRasterizerDesc) PURE;
1107 };
1108 
1110 // ID3D10EffectSamplerVariable ///////////////////////////////////////////////
1112 
1115 
1116 // {6530D5C7-07E9-4271-A418-E7CE4BD1E480}
1117 DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
1118 0x6530d5c7, 0x7e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
1119 
1120 #undef INTERFACE
1121 #define INTERFACE ID3D10EffectSamplerVariable
1122 
1124 {
1125  STDMETHOD_(ID3D10EffectType*, GetType)(THIS) PURE;
1126  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_VARIABLE_DESC *pDesc) PURE;
1127 
1128  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
1129  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
1130 
1131  STDMETHOD_(ID3D10EffectVariable*, GetMemberByIndex)(THIS_ UINT Index) PURE;
1132  STDMETHOD_(ID3D10EffectVariable*, GetMemberByName)(THIS_ LPCSTR Name) PURE;
1133  STDMETHOD_(ID3D10EffectVariable*, GetMemberBySemantic)(THIS_ LPCSTR Semantic) PURE;
1134 
1135  STDMETHOD_(ID3D10EffectVariable*, GetElement)(THIS_ UINT Index) PURE;
1136 
1137  STDMETHOD_(ID3D10EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
1138 
1139  STDMETHOD_(ID3D10EffectScalarVariable*, AsScalar)(THIS) PURE;
1140  STDMETHOD_(ID3D10EffectVectorVariable*, AsVector)(THIS) PURE;
1141  STDMETHOD_(ID3D10EffectMatrixVariable*, AsMatrix)(THIS) PURE;
1142  STDMETHOD_(ID3D10EffectStringVariable*, AsString)(THIS) PURE;
1143  STDMETHOD_(ID3D10EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
1144  STDMETHOD_(ID3D10EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
1145  STDMETHOD_(ID3D10EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
1146  STDMETHOD_(ID3D10EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
1147  STDMETHOD_(ID3D10EffectShaderVariable*, AsShader)(THIS) PURE;
1148  STDMETHOD_(ID3D10EffectBlendVariable*, AsBlend)(THIS) PURE;
1149  STDMETHOD_(ID3D10EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
1150  STDMETHOD_(ID3D10EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
1151  STDMETHOD_(ID3D10EffectSamplerVariable*, AsSampler)(THIS) PURE;
1152 
1153  STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1154  STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount) void *pData, UINT Offset, UINT ByteCount) PURE;
1155 
1156  STDMETHOD(GetSampler)(THIS_ UINT Index, _Out_ ID3D10SamplerState **ppSampler) PURE;
1157  STDMETHOD(GetBackingStore)(THIS_ UINT Index, _Out_ D3D10_SAMPLER_DESC *pSamplerDesc) PURE;
1158 };
1159 
1161 // ID3D10EffectPass //////////////////////////////////////////////////////////
1163 
1164 //----------------------------------------------------------------------------
1165 // D3D10_PASS_DESC:
1166 //
1167 // Retrieved by ID3D10EffectPass::GetDesc()
1168 //----------------------------------------------------------------------------
1169 
1170 typedef struct _D3D10_PASS_DESC
1171 {
1172  LPCSTR Name; // Name of this pass (NULL if not anonymous)
1173  UINT Annotations; // Number of annotations on this pass
1174 
1175  BYTE *pIAInputSignature; // Signature from VS or GS (if there is no VS)
1176  // or NULL if neither exists
1177  SIZE_T IAInputSignatureSize; // Singature size in bytes
1178 
1179  UINT StencilRef; // Specified in SetDepthStencilState()
1180  UINT SampleMask; // Specified in SetBlendState()
1181  FLOAT BlendFactor[4]; // Specified in SetBlendState()
1182 } D3D10_PASS_DESC;
1183 
1184 //----------------------------------------------------------------------------
1185 // D3D10_PASS_SHADER_DESC:
1186 //
1187 // Retrieved by ID3D10EffectPass::Get**ShaderDesc()
1188 //----------------------------------------------------------------------------
1189 
1191 {
1192  ID3D10EffectShaderVariable *pShaderVariable; // The variable that this shader came from.
1193  // If this is an inline shader assignment,
1194  // the returned interface will be an
1195  // anonymous shader variable, which is
1196  // not retrievable any other way. It's
1197  // name in the variable description will
1198  // be "$Anonymous".
1199  // If there is no assignment of this type in
1200  // the pass block, pShaderVariable != NULL,
1201  // but pShaderVariable->IsValid() == FALSE.
1202 
1203  UINT ShaderIndex; // The element of pShaderVariable (if an array)
1204  // or 0 if not applicable
1206 
1209 
1210 // {5CFBEB89-1A06-46e0-B282-E3F9BFA36A54}
1211 DEFINE_GUID(IID_ID3D10EffectPass,
1212 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
1213 
1214 #undef INTERFACE
1215 #define INTERFACE ID3D10EffectPass
1216 
1218 {
1219  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
1220  STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *pDesc) PURE;
1221 
1222  STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
1223  STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
1224  STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *pDesc) PURE;
1225 
1226  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
1227  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
1228 
1229  STDMETHOD(Apply)(THIS_ UINT Flags) PURE;
1230 
1231  STDMETHOD(ComputeStateBlockMask)(THIS_ _Out_ D3D10_STATE_BLOCK_MASK *pStateBlockMask) PURE;
1232 };
1233 
1235 // ID3D10EffectTechnique /////////////////////////////////////////////////////
1237 
1238 //----------------------------------------------------------------------------
1239 // D3D10_TECHNIQUE_DESC:
1240 //
1241 // Retrieved by ID3D10EffectTechnique::GetDesc()
1242 //----------------------------------------------------------------------------
1243 
1245 {
1246  LPCSTR Name; // Name of this technique (NULL if not anonymous)
1247  UINT Passes; // Number of passes contained within
1248  UINT Annotations; // Number of annotations on this technique
1250 
1253 
1254 // {DB122CE8-D1C9-4292-B237-24ED3DE8B175}
1255 DEFINE_GUID(IID_ID3D10EffectTechnique,
1256 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
1257 
1258 #undef INTERFACE
1259 #define INTERFACE ID3D10EffectTechnique
1260 
1262 {
1263  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
1264  STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *pDesc) PURE;
1265 
1266  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByIndex)(THIS_ UINT Index) PURE;
1267  STDMETHOD_(ID3D10EffectVariable*, GetAnnotationByName)(THIS_ LPCSTR Name) PURE;
1268 
1269  STDMETHOD_(ID3D10EffectPass*, GetPassByIndex)(THIS_ UINT Index) PURE;
1270  STDMETHOD_(ID3D10EffectPass*, GetPassByName)(THIS_ LPCSTR Name) PURE;
1271 
1272  STDMETHOD(ComputeStateBlockMask)(THIS_ _Out_ D3D10_STATE_BLOCK_MASK *pStateBlockMask) PURE;
1273 };
1274 
1276 // ID3D10Effect //////////////////////////////////////////////////////////////
1278 
1279 //----------------------------------------------------------------------------
1280 // D3D10_EFFECT_DESC:
1281 //
1282 // Retrieved by ID3D10Effect::GetDesc()
1283 //----------------------------------------------------------------------------
1284 
1285 typedef struct _D3D10_EFFECT_DESC
1286 {
1287 
1288  BOOL IsChildEffect; // TRUE if this is a child effect,
1289  // FALSE if this is standalone or an effect pool.
1290 
1291  UINT ConstantBuffers; // Number of constant buffers in this effect,
1292  // excluding the effect pool.
1293  UINT SharedConstantBuffers; // Number of constant buffers shared in this
1294  // effect's pool.
1295 
1296  UINT GlobalVariables; // Number of global variables in this effect,
1297  // excluding the effect pool.
1298  UINT SharedGlobalVariables; // Number of global variables shared in this
1299  // effect's pool.
1300 
1301  UINT Techniques; // Number of techniques in this effect,
1302  // excluding the effect pool.
1304 
1305 typedef interface ID3D10Effect ID3D10Effect;
1306 typedef interface ID3D10Effect *LPD3D10EFFECT;
1307 
1308 // {51B0CA8B-EC0B-4519-870D-8EE1CB5017C7}
1309 DEFINE_GUID(IID_ID3D10Effect,
1310 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0xd, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7);
1311 
1312 #undef INTERFACE
1313 #define INTERFACE ID3D10Effect
1314 
1316 {
1317  // IUnknown
1318  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
1319  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1320  STDMETHOD_(ULONG, Release)(THIS) PURE;
1321 
1322  STDMETHOD_(BOOL, IsValid)(THIS) PURE;
1323  STDMETHOD_(BOOL, IsPool)(THIS) PURE;
1324 
1325  // Managing D3D Device
1326  STDMETHOD(GetDevice)(THIS_ _Out_ ID3D10Device** ppDevice) PURE;
1327 
1328  // New Reflection APIs
1329  STDMETHOD(GetDesc)(THIS_ _Out_ D3D10_EFFECT_DESC *pDesc) PURE;
1330 
1331  STDMETHOD_(ID3D10EffectConstantBuffer*, GetConstantBufferByIndex)(THIS_ UINT Index) PURE;
1332  STDMETHOD_(ID3D10EffectConstantBuffer*, GetConstantBufferByName)(THIS_ LPCSTR Name) PURE;
1333 
1334  STDMETHOD_(ID3D10EffectVariable*, GetVariableByIndex)(THIS_ UINT Index) PURE;
1335  STDMETHOD_(ID3D10EffectVariable*, GetVariableByName)(THIS_ LPCSTR Name) PURE;
1336  STDMETHOD_(ID3D10EffectVariable*, GetVariableBySemantic)(THIS_ LPCSTR Semantic) PURE;
1337 
1338  STDMETHOD_(ID3D10EffectTechnique*, GetTechniqueByIndex)(THIS_ UINT Index) PURE;
1339  STDMETHOD_(ID3D10EffectTechnique*, GetTechniqueByName)(THIS_ LPCSTR Name) PURE;
1340 
1341  STDMETHOD(Optimize)(THIS) PURE;
1342  STDMETHOD_(BOOL, IsOptimized)(THIS) PURE;
1343 
1344 };
1345 
1347 // ID3D10EffectPool //////////////////////////////////////////////////////////
1349 
1350 typedef interface ID3D10EffectPool ID3D10EffectPool;
1352 
1353 // {9537AB04-3250-412e-8213-FCD2F8677933}
1354 DEFINE_GUID(IID_ID3D10EffectPool,
1355 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
1356 
1357 #undef INTERFACE
1358 #define INTERFACE ID3D10EffectPool
1359 
1361 {
1362  // IUnknown
1363  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
1364  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1365  STDMETHOD_(ULONG, Release)(THIS) PURE;
1366 
1367  STDMETHOD_(ID3D10Effect*, AsEffect)(THIS) PURE;
1368 
1369  // No public methods
1370 };
1371 
1373 // APIs //////////////////////////////////////////////////////////////////////
1375 
1376 #ifdef __cplusplus
1377 extern "C" {
1378 #endif //__cplusplus
1379 
1380 //----------------------------------------------------------------------------
1381 // D3D10CreateEffectFromXXXX:
1382 // --------------------------
1383 // Creates an effect from a binary effect or file
1384 //
1385 // Parameters:
1386 //
1387 // [in]
1388 //
1389 //
1390 // pData
1391 // Blob of effect data, either ASCII (uncompiled, for D3D10CompileEffectFromMemory) or binary (compiled, for D3D10CreateEffect*)
1392 // DataLength
1393 // Length of the data blob
1394 //
1395 // pSrcFileName
1396 // Name of the ASCII Effect file pData was obtained from
1397 //
1398 // pDefines
1399 // Optional NULL-terminated array of preprocessor macro definitions.
1400 // pInclude
1401 // Optional interface pointer to use for handling #include directives.
1402 // If this parameter is NULL, #includes will be honored when compiling
1403 // from file, and will error when compiling from resource or memory.
1404 // HLSLFlags
1405 // Compilation flags pertaining to shaders and data types, honored by
1406 // the HLSL compiler
1407 // FXFlags
1408 // Compilation flags pertaining to Effect compilation, honored
1409 // by the Effect compiler
1410 // pDevice
1411 // Pointer to the D3D10 device on which to create Effect resources
1412 // pEffectPool
1413 // Pointer to an Effect pool to share variables with or NULL
1414 //
1415 // [out]
1416 //
1417 // ppEffect
1418 // Address of the newly created Effect interface
1419 // ppEffectPool
1420 // Address of the newly created Effect pool interface
1421 // ppErrors
1422 // If non-NULL, address of a buffer with error messages that occurred
1423 // during parsing or compilation
1424 //
1425 //----------------------------------------------------------------------------
1426 
1427 HRESULT WINAPI D3D10CompileEffectFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, LPCSTR pSrcFileName, _In_opt_ CONST D3D10_SHADER_MACRO *pDefines,
1428  _In_opt_ ID3D10Include *pInclude, UINT HLSLFlags, UINT FXFlags,
1429  _Out_ ID3D10Blob **ppCompiledEffect, _Out_opt_ ID3D10Blob **ppErrors);
1430 
1431 HRESULT WINAPI D3D10CreateEffectFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, UINT FXFlags, _In_ ID3D10Device *pDevice,
1432  _In_opt_ ID3D10EffectPool *pEffectPool, _Out_ ID3D10Effect **ppEffect);
1433 
1434 HRESULT WINAPI D3D10CreateEffectPoolFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, UINT FXFlags, _In_ ID3D10Device *pDevice,
1435  _Out_ ID3D10EffectPool **ppEffectPool);
1436 
1437 
1438 //----------------------------------------------------------------------------
1439 // D3D10DisassembleEffect:
1440 // -----------------------
1441 // Takes an effect interface, and returns a buffer containing text assembly.
1442 //
1443 // Parameters:
1444 // pEffect
1445 // Pointer to the runtime effect interface.
1446 // EnableColorCode
1447 // Emit HTML tags for color coding the output?
1448 // ppDisassembly
1449 // Returns a buffer containing the disassembled effect.
1450 //----------------------------------------------------------------------------
1451 
1452 HRESULT WINAPI D3D10DisassembleEffect(_In_ ID3D10Effect *pEffect, BOOL EnableColorCode, _Out_ ID3D10Blob **ppDisassembly);
1453 
1454 #ifdef __cplusplus
1455 }
1456 #endif //__cplusplus
1457 
1458 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
1459 /*#pragma endregion*/
1460 
1461 #endif //__D3D10EFFECT_H__
1462 
1463 
Definition: d3d10effect.h:53
interface ID3D10StateBlock ID3D10StateBlock
Definition: d3d10effect.h:120
BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)]
Definition: d3d10effect.h:90
Definition: d3d10effect.h:1170
LPCSTR Name
Definition: d3d10effect.h:1246
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2010
UINT ConstantBuffers
Definition: d3d10effect.h:1291
Definition: d3d10effect.h:63
Definition: d3d10effect.h:271
Definition: d3d10effect.h:56
interface ID3D10Effect * LPD3D10EFFECT
Definition: d3d10effect.h:1306
BYTE PS
Definition: d3d10effect.h:93
interface ID3D10EffectDepthStencilViewVariable ID3D10EffectDepthStencilViewVariable
Definition: d3d10effect.h:365
const char * pValue
Definition: jsonsax_full.h:952
HRESULT WINAPI D3D10CreateEffectFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, UINT FXFlags, _In_ ID3D10Device *pDevice, _In_opt_ ID3D10EffectPool *pEffectPool, _Out_ ID3D10Effect **ppEffect)
#define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT
Definition: d3d10.h:243
HRESULT WINAPI D3D10DisassembleEffect(_In_ ID3D10Effect *pEffect, BOOL EnableColorCode, _Out_ ID3D10Blob **ppDisassembly)
Definition: d3d10.h:998
BYTE SOBuffers
Definition: d3d10effect.h:111
struct _D3D10_EFFECT_SHADER_DESC D3D10_EFFECT_SHADER_DESC
#define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT
Definition: d3d10.h:289
Definition: glslang_tab.cpp:129
HRESULT WINAPI D3D10StateBlockMaskIntersect(_In_ D3D10_STATE_BLOCK_MASK *pA, _In_ D3D10_STATE_BLOCK_MASK *pB, _Out_ D3D10_STATE_BLOCK_MASK *pResult)
UINT ExplicitBindPoint
Definition: d3d10effect.h:343
interface ID3D10EffectRasterizerVariable * LPD3D10EFFECTRASTERIZERVARIABLE
Definition: d3d10effect.h:1063
interface ID3D10ShaderResourceView ID3D10ShaderResourceView
Definition: d3d10.h:119
DEFINE_GUID(IID_ID3D10StateBlock, 0x803425a, 0x57f5, 0x4dd6, 0x94, 0x65, 0xa8, 0x75, 0x70, 0x83, 0x4a, 0x8)
Definition: d3d10effect.h:1244
interface ID3D10EffectSamplerVariable ID3D10EffectSamplerVariable
Definition: d3d10effect.h:371
HRESULT WINAPI D3D10StateBlockMaskEnableCapture(_Inout_ D3D10_STATE_BLOCK_MASK *pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength)
BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)]
Definition: d3d10effect.h:84
Definition: d3dcommon.h:344
BYTE Predication
Definition: d3d10effect.h:113
GLfixed GLfixed x2
Definition: glsym_gl.h:1051
D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS
Definition: d3d10shader.h:134
UINT NumInputSignatureEntries
Definition: d3d10effect.h:898
interface ID3D10EffectType ID3D10EffectType
Definition: d3d10effect.h:296
Definition: d3d10effect.h:46
BYTE IAIndexBuffer
Definition: d3d10effect.h:99
_D3D10_DEVICE_STATE_TYPES
Definition: d3d10effect.h:35
Definition: d3d10effect.h:49
BYTE IAPrimitiveTopology
Definition: d3d10effect.h:101
Definition: d3d10.h:1185
LPCSTR Name
Definition: d3d10effect.h:329
interface ID3D10EffectVectorVariable * LPD3D10EFFECTVECTORVARIABLE
Definition: d3d10effect.h:480
HRESULT WINAPI D3D10CreateStateBlock(_In_ ID3D10Device *pDevice, _In_ D3D10_STATE_BLOCK_MASK *pStateBlockMask, _Out_ ID3D10StateBlock **ppStateBlock)
LPCSTR TypeName
Definition: d3d10effect.h:273
BYTE OMBlendState
Definition: d3d10effect.h:105
interface ID3D10Buffer ID3D10Buffer
Definition: d3d10.h:84
interface ID3D10DepthStencilView ID3D10DepthStencilView
Definition: d3d10.h:133
BYTE GS
Definition: d3d10effect.h:88
BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)]
Definition: d3d10effect.h:91
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
UINT Members
Definition: d3d10effect.h:281
interface ID3D10EffectShaderVariable ID3D10EffectShaderVariable
Definition: d3d10effect.h:367
interface ID3D10EffectConstantBuffer * LPD3D10EFFECTCONSTANTBUFFER
Definition: d3d10effect.h:824
BYTE IAInputLayout
Definition: d3d10effect.h:100
Definition: d3d10effect.h:64
interface ID3D10Blob ID3D10Blob
Definition: d3dcommon.h:44
UINT Passes
Definition: d3d10effect.h:1247
UINT BufferOffset
Definition: d3d10effect.h:339
HRESULT WINAPI D3D10StateBlockMaskDisableCapture(_Inout_ D3D10_STATE_BLOCK_MASK *pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength)
UINT Techniques
Definition: d3d10effect.h:1301
struct _D3D10_EFFECT_VARIABLE_DESC D3D10_EFFECT_VARIABLE_DESC
UINT Stride
Definition: d3d10effect.h:292
BYTE RSRasterizerState
Definition: d3d10effect.h:109
#define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT
Definition: d3d10.h:279
_Outptr_ IUnknown ** pEffect
Definition: xapofx.h:175
struct _D3D10_TECHNIQUE_DESC D3D10_TECHNIQUE_DESC
UINT Annotations
Definition: d3d10effect.h:336
UINT Rows
Definition: d3d10effect.h:283
HRESULT WINAPI D3D10CompileEffectFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, LPCSTR pSrcFileName, _In_opt_ CONST D3D10_SHADER_MACRO *pDefines, _In_opt_ ID3D10Include *pInclude, UINT HLSLFlags, UINT FXFlags, _Out_ ID3D10Blob **ppCompiledEffect, _Out_opt_ ID3D10Blob **ppErrors)
interface ID3D10EffectStringVariable ID3D10EffectStringVariable
Definition: d3d10effect.h:362
BYTE * pIAInputSignature
Definition: d3d10effect.h:1175
interface ID3D10GeometryShader ID3D10GeometryShader
Definition: d3d10.h:147
UINT GlobalVariables
Definition: d3d10effect.h:1296
interface ID3D10EffectDepthStencilViewVariable * LPD3D10EFFECTDEPTHSTENCILVIEWVARIABLE
Definition: d3d10effect.h:769
interface ID3DInclude ID3D10Include
Definition: d3d10shader.h:164
DECLARE_INTERFACE_(ID3D10StateBlock, IUnknown)
Definition: d3d10effect.h:130
Definition: d3d10.h:3903
interface ID3D10RasterizerState ID3D10RasterizerState
Definition: d3d10.h:70
interface ID3D10StateBlock * LPD3D10STATEBLOCK
Definition: d3d10effect.h:121
Definition: d3d10effect.h:59
D3D10_SHADER_VARIABLE_TYPE Type
Definition: d3d10effect.h:277
HRESULT WINAPI D3D10StateBlockMaskEnableAll(_Out_ D3D10_STATE_BLOCK_MASK *pMask)
UINT Columns
Definition: d3d10effect.h:285
BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)]
Definition: d3d10effect.h:95
UINT ShaderIndex
Definition: d3d10effect.h:1203
interface ID3D10EffectPass * LPD3D10EFFECTPASS
Definition: d3d10effect.h:1208
interface ID3D10EffectType * LPD3D10EFFECTTYPE
Definition: d3d10effect.h:297
BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)]
Definition: d3d10effect.h:96
HRESULT WINAPI D3D10StateBlockMaskUnion(_In_ D3D10_STATE_BLOCK_MASK *pA, _In_ D3D10_STATE_BLOCK_MASK *pB, _Out_ D3D10_STATE_BLOCK_MASK *pResult)
UINT Annotations
Definition: d3d10effect.h:1173
Definition: d3d10effect.h:39
interface ID3D10EffectVariable ID3D10EffectVariable
Definition: d3d10effect.h:348
interface ID3D10EffectConstantBuffer ID3D10EffectConstantBuffer
Definition: d3d10effect.h:366
enum _D3D10_DEVICE_STATE_TYPES D3D10_DEVICE_STATE_TYPES
Definition: d3d10shader.h:253
interface ID3D10EffectTechnique * LPD3D10EFFECTTECHNIQUE
Definition: d3d10effect.h:1252
interface ID3D10EffectMatrixVariable * LPD3D10EFFECTMATRIXVARIABLE
Definition: d3d10effect.h:545
interface ID3D10EffectDepthStencilVariable ID3D10EffectDepthStencilVariable
Definition: d3d10effect.h:369
Definition: d3d10effect.h:50
#define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT
Definition: d3d10.h:411
struct _D3D10_EFFECT_DESC D3D10_EFFECT_DESC
interface ID3D10PixelShader ID3D10PixelShader
Definition: d3d10.h:154
CONST BYTE * pInputSignature
Definition: d3d10effect.h:885
CONST BYTE * pBytecode
Definition: d3d10effect.h:893
Definition: d3d10effect.h:67
BYTE VS
Definition: d3d10effect.h:83
interface ID3D10EffectDepthStencilVariable * LPD3D10EFFECTDEPTHSTENCILVARIABLE
Definition: d3d10effect.h:1012
BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)]
Definition: d3d10effect.h:85
Definition: d3d10effect.h:883
interface ID3D10VertexShader ID3D10VertexShader
Definition: d3d10.h:140
interface ID3D10EffectBlendVariable ID3D10EffectBlendVariable
Definition: d3d10effect.h:368
LPCSTR Name
Definition: d3d10effect.h:1172
interface ID3D10SamplerState ID3D10SamplerState
Definition: d3d10.h:168
LPCSTR Semantic
Definition: d3d10effect.h:331
BYTE OMDepthStencilState
Definition: d3d10effect.h:104
struct _D3D10_STATE_BLOCK_MASK D3D10_STATE_BLOCK_MASK
interface ID3D10Device ID3D10Device
Definition: d3d10.h:203
UINT SharedGlobalVariables
Definition: d3d10effect.h:1298
interface ID3D10EffectMatrixVariable ID3D10EffectMatrixVariable
Definition: d3d10effect.h:361
BOOL IsChildEffect
Definition: d3d10effect.h:1288
Definition: d3d10effect.h:61
SIZE_T IAInputSignatureSize
Definition: d3d10effect.h:1177
struct _D3D10_EFFECT_TYPE_DESC D3D10_EFFECT_TYPE_DESC
Definition: d3d10effect.h:55
interface ID3D10Effect ID3D10Effect
Definition: d3d10effect.h:1305
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
HRESULT WINAPI D3D10StateBlockMaskDifference(_In_ D3D10_STATE_BLOCK_MASK *pA, _In_ D3D10_STATE_BLOCK_MASK *pB, _Out_ D3D10_STATE_BLOCK_MASK *pResult)
interface ID3D10EffectShaderVariable * LPD3D10EFFECTSHADERVARIABLE
Definition: d3d10effect.h:904
UINT Flags
Definition: d3d10effect.h:335
Definition: d3d10effect.h:45
unsigned int BOOL
Definition: gctypes.h:51
interface ID3D10EffectPool * LPD3D10EFFECTPOOL
Definition: d3d10effect.h:1351
Definition: d3d10effect.h:40
D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE
Definition: d3d10shader.h:140
UINT BytecodeLength
Definition: d3d10effect.h:894
Definition: d3d10effect.h:44
LPCSTR SODecl
Definition: d3d10effect.h:896
UINT Annotations
Definition: d3d10effect.h:1248
UINT SampleMask
Definition: d3d10effect.h:1180
interface ID3D10EffectStringVariable * LPD3D10EFFECTSTRINGVARIABLE
Definition: d3d10effect.h:606
Definition: d3d10effect.h:38
Definition: d3d10effect.h:60
HRESULT WINAPI D3D10CreateEffectPoolFromMemory(_In_reads_bytes_(DataLength) void *pData, SIZE_T DataLength, UINT FXFlags, _In_ ID3D10Device *pDevice, _Out_ ID3D10EffectPool **ppEffectPool)
struct _D3D10_PASS_DESC D3D10_PASS_DESC
Definition: d3d10effect.h:48
Definition: d3d10effect.h:51
interface ID3D10EffectRenderTargetViewVariable * LPD3D10EFFECTRENDERTARGETVIEWVARIABLE
Definition: d3d10effect.h:714
UINT PackedSize
Definition: d3d10effect.h:288
Definition: d3d10effect.h:54
interface ID3D10EffectBlendVariable * LPD3D10EFFECTBLENDVARIABLE
Definition: d3d10effect.h:961
Definition: d3d10effect.h:81
Definition: glslang_tab.cpp:136
interface ID3D10RenderTargetView ID3D10RenderTargetView
Definition: d3d10.h:126
Definition: d3d10.h:1331
FLOAT BlendFactor[4]
Definition: d3d10effect.h:1181
interface ID3D10EffectPool ID3D10EffectPool
Definition: d3d10effect.h:1344
BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)]
Definition: d3d10effect.h:98
interface ID3D10EffectShaderResourceVariable * LPD3D10EFFECTSHADERRESOURCEVARIABLE
Definition: d3d10effect.h:658
BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)]
Definition: d3d10effect.h:94
Definition: d3d10effect.h:41
UINT SharedConstantBuffers
Definition: d3d10effect.h:1293
interface ID3D10EffectTechnique ID3D10EffectTechnique
Definition: d3d10effect.h:1251
interface ID3D10BlendState ID3D10BlendState
Definition: d3d10.h:63
BOOL WINAPI D3D10StateBlockMaskGetSetting(_In_ D3D10_STATE_BLOCK_MASK *pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT Entry)
Definition: glslang_tab.cpp:133
interface ID3D10EffectShaderResourceVariable ID3D10EffectShaderResourceVariable
Definition: d3d10effect.h:363
DECLARE_INTERFACE(ID3D10EffectType)
Definition: d3d10effect.h:306
BYTE RSViewports
Definition: d3d10effect.h:107
D3D10_SHADER_VARIABLE_CLASS Class
Definition: d3d10effect.h:276
UINT Elements
Definition: d3d10effect.h:279
UINT UnpackedSize
Definition: d3d10effect.h:290
Definition: d3d10effect.h:65
interface ID3D10EffectPass ID3D10EffectPass
Definition: d3d10effect.h:1207
interface ID3D10EffectScalarVariable ID3D10EffectScalarVariable
Definition: d3d10effect.h:359
UINT StencilRef
Definition: d3d10effect.h:1179
Definition: d3d10effect.h:1190
interface ID3D10EffectRenderTargetViewVariable ID3D10EffectRenderTargetViewVariable
Definition: d3d10effect.h:364
interface ID3D10EffectScalarVariable * LPD3D10EFFECTSCALARVARIABLE
Definition: d3d10effect.h:413
BOOL IsInline
Definition: d3d10effect.h:888
struct _D3D10_PASS_SHADER_DESC D3D10_PASS_SHADER_DESC
BYTE RSScissorRects
Definition: d3d10effect.h:108
BYTE OMRenderTargets
Definition: d3d10effect.h:103
Definition: d3d10effect.h:327
interface ID3D10EffectSamplerVariable * LPD3D10EFFECTSAMPLERVARIABLE
Definition: d3d10effect.h:1114
UINT NumOutputSignatureEntries
Definition: d3d10effect.h:899
ID3D10EffectShaderVariable * pShaderVariable
Definition: d3d10effect.h:1192
Definition: d3d10effect.h:58
interface ID3D10EffectVectorVariable ID3D10EffectVectorVariable
Definition: d3d10effect.h:360
BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)]
Definition: d3d10effect.h:86
interface ID3D10EffectRasterizerVariable ID3D10EffectRasterizerVariable
Definition: d3d10effect.h:370
HRESULT WINAPI D3D10StateBlockMaskDisableAll(_Out_ D3D10_STATE_BLOCK_MASK *pMask)
interface ID3D10DepthStencilState ID3D10DepthStencilState
Definition: d3d10.h:56
interface ID3D10EffectVariable * LPD3D10EFFECTVARIABLE
Definition: d3d10effect.h:349
Definition: d3d10effect.h:43
BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)]
Definition: d3d10effect.h:89
Definition: d3d10effect.h:1285