14 #define D3DX11_EFFECTS_VERSION 1128 16 #if defined(_XBOX_ONE) && defined(_TITLE) 18 #define NO_D3D11_DEBUG_NAME 21 #include <d3d11shader.h> 24 #pragma comment( lib, "d3dcompiler.lib" ) 25 #pragma comment( lib, "dxguid.lib" ) 36 #ifndef D3DX11_BYTES_FROM_BITS 37 #define D3DX11_BYTES_FROM_BITS(x) (((x) + 7) / 8) 38 #endif // D3DX11_BYTES_FROM_BITS 40 #ifndef D3DERR_INVALIDCALL 41 #define D3DERR_INVALIDCALL MAKE_HRESULT( 1, 0x876, 2156 ) 47 uint8_t VSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
48 uint8_t VSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
49 uint8_t VSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
50 uint8_t VSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
53 uint8_t HSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
54 uint8_t HSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
55 uint8_t HSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
56 uint8_t HSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
59 uint8_t DSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
60 uint8_t DSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
61 uint8_t DSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
62 uint8_t DSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
65 uint8_t GSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
66 uint8_t GSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
67 uint8_t GSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
68 uint8_t GSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
71 uint8_t PSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
72 uint8_t PSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
73 uint8_t PSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
74 uint8_t PSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
75 uint8_t PSUnorderedAccessViews;
78 uint8_t CSSamplers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT)];
79 uint8_t CSShaderResources[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
80 uint8_t CSConstantBuffers[D3DX11_BYTES_FROM_BITS(D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
81 uint8_t CSInterfaces[D3DX11_BYTES_FROM_BITS(D3D11_SHADER_MAX_INTERFACES)];
82 uint8_t CSUnorderedAccessViews;
84 uint8_t IAVertexBuffers[D3DX11_BYTES_FROM_BITS(D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
85 uint8_t IAIndexBuffer;
86 uint8_t IAInputLayout;
87 uint8_t IAPrimitiveTopology;
89 uint8_t OMRenderTargets;
90 uint8_t OMDepthStencilState;
94 uint8_t RSScissorRects;
95 uint8_t RSRasterizerState;
127 #define D3DX11_EFFECT_OPTIMIZED (1 << 21) 128 #define D3DX11_EFFECT_CLONE (1 << 22) 131 #define D3DX11_EFFECT_RUNTIME_VALID_FLAGS (0) 150 #define D3DX11_EFFECT_VARIABLE_ANNOTATION (1 << 1) 151 #define D3DX11_EFFECT_VARIABLE_EXPLICIT_BIND_POINT (1 << 2) 164 #define D3DX11_EFFECT_CLONE_FORCE_NONSINGLE (1 << 0) 182 D3D_SHADER_VARIABLE_CLASS Class;
183 D3D_SHADER_VARIABLE_TYPE Type;
196 uint32_t UnpackedSize;
202 typedef interface ID3DX11EffectType ID3DX11EffectType;
203 typedef interface ID3DX11EffectType *LPD3D11EFFECTTYPE;
206 DEFINE_GUID(IID_ID3DX11EffectType,
207 0x4250d721, 0xd5e5, 0x491f, 0xb6, 0x2b, 0x58, 0x7c, 0x43, 0x18, 0x62, 0x85);
210 #define INTERFACE ID3DX11EffectType 212 DECLARE_INTERFACE_(ID3DX11EffectType, IUnknown)
217 STDMETHOD_(
bool, IsValid)(THIS) PURE;
219 STDMETHOD_(ID3DX11EffectType*, GetMemberTypeByIndex)(THIS_ _In_ uint32_t Index) PURE;
220 STDMETHOD_(ID3DX11EffectType*, GetMemberTypeByName)(THIS_ _In_z_ LPCSTR Name) PURE;
221 STDMETHOD_(ID3DX11EffectType*, GetMemberTypeBySemantic)(THIS_ _In_z_ LPCSTR Semantic) PURE;
222 STDMETHOD_(LPCSTR, GetMemberName)(THIS_ _In_ uint32_t Index) PURE;
223 STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ _In_ uint32_t Index) PURE;
245 uint32_t Annotations;
248 uint32_t BufferOffset;
252 uint32_t ExplicitBindPoint;
257 typedef interface ID3DX11EffectVariable ID3DX11EffectVariable;
258 typedef interface ID3DX11EffectVariable *LPD3D11EFFECTVARIABLE;
261 DEFINE_GUID(IID_ID3DX11EffectVariable,
262 0x036a777d, 0xb56e, 0x4b25, 0xb3, 0x13, 0xcc, 0x3d, 0xda, 0xb7, 0x18, 0x73);
265 #define INTERFACE ID3DX11EffectVariable 268 typedef interface ID3DX11EffectScalarVariable ID3DX11EffectScalarVariable;
269 typedef interface ID3DX11EffectVectorVariable ID3DX11EffectVectorVariable;
270 typedef interface ID3DX11EffectMatrixVariable ID3DX11EffectMatrixVariable;
271 typedef interface ID3DX11EffectStringVariable ID3DX11EffectStringVariable;
272 typedef interface ID3DX11EffectClassInstanceVariable ID3DX11EffectClassInstanceVariable;
273 typedef interface ID3DX11EffectInterfaceVariable ID3DX11EffectInterfaceVariable;
274 typedef interface ID3DX11EffectShaderResourceVariable ID3DX11EffectShaderResourceVariable;
275 typedef interface ID3DX11EffectUnorderedAccessViewVariable ID3DX11EffectUnorderedAccessViewVariable;
276 typedef interface ID3DX11EffectRenderTargetViewVariable ID3DX11EffectRenderTargetViewVariable;
277 typedef interface ID3DX11EffectDepthStencilViewVariable ID3DX11EffectDepthStencilViewVariable;
278 typedef interface ID3DX11EffectConstantBuffer ID3DX11EffectConstantBuffer;
279 typedef interface ID3DX11EffectShaderVariable ID3DX11EffectShaderVariable;
280 typedef interface ID3DX11EffectBlendVariable ID3DX11EffectBlendVariable;
281 typedef interface ID3DX11EffectDepthStencilVariable ID3DX11EffectDepthStencilVariable;
282 typedef interface ID3DX11EffectRasterizerVariable ID3DX11EffectRasterizerVariable;
283 typedef interface ID3DX11EffectSamplerVariable ID3DX11EffectSamplerVariable;
285 DECLARE_INTERFACE_(ID3DX11EffectVariable, IUnknown)
290 STDMETHOD_(
bool, IsValid)(THIS) PURE;
291 STDMETHOD_(ID3DX11EffectType*, GetType)(THIS) PURE;
294 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByIndex)(THIS_ _In_ uint32_t Index) PURE;
295 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByName)(THIS_ _In_z_ LPCSTR Name) PURE;
297 STDMETHOD_(ID3DX11EffectVariable*, GetMemberByIndex)(THIS_ _In_ uint32_t Index) PURE;
298 STDMETHOD_(ID3DX11EffectVariable*, GetMemberByName)(THIS_ _In_z_ LPCSTR Name) PURE;
299 STDMETHOD_(ID3DX11EffectVariable*, GetMemberBySemantic)(THIS_ _In_z_ LPCSTR Semantic) PURE;
301 STDMETHOD_(ID3DX11EffectVariable*, GetElement)(THIS_ _In_ uint32_t Index) PURE;
303 STDMETHOD_(ID3DX11EffectConstantBuffer*, GetParentConstantBuffer)(THIS) PURE;
305 STDMETHOD_(ID3DX11EffectScalarVariable*, AsScalar)(THIS) PURE;
306 STDMETHOD_(ID3DX11EffectVectorVariable*, AsVector)(THIS) PURE;
307 STDMETHOD_(ID3DX11EffectMatrixVariable*, AsMatrix)(THIS) PURE;
308 STDMETHOD_(ID3DX11EffectStringVariable*, AsString)(THIS) PURE;
309 STDMETHOD_(ID3DX11EffectClassInstanceVariable*, AsClassInstance)(THIS) PURE;
310 STDMETHOD_(ID3DX11EffectInterfaceVariable*, AsInterface)(THIS) PURE;
311 STDMETHOD_(ID3DX11EffectShaderResourceVariable*, AsShaderResource)(THIS) PURE;
312 STDMETHOD_(ID3DX11EffectUnorderedAccessViewVariable*, AsUnorderedAccessView)(THIS) PURE;
313 STDMETHOD_(ID3DX11EffectRenderTargetViewVariable*, AsRenderTargetView)(THIS) PURE;
314 STDMETHOD_(ID3DX11EffectDepthStencilViewVariable*, AsDepthStencilView)(THIS) PURE;
315 STDMETHOD_(ID3DX11EffectConstantBuffer*, AsConstantBuffer)(THIS) PURE;
316 STDMETHOD_(ID3DX11EffectShaderVariable*, AsShader)(THIS) PURE;
317 STDMETHOD_(ID3DX11EffectBlendVariable*, AsBlend)(THIS) PURE;
318 STDMETHOD_(ID3DX11EffectDepthStencilVariable*, AsDepthStencil)(THIS) PURE;
319 STDMETHOD_(ID3DX11EffectRasterizerVariable*, AsRasterizer)(THIS) PURE;
320 STDMETHOD_(ID3DX11EffectSamplerVariable*, AsSampler)(THIS) PURE;
322 STDMETHOD(SetRawValue)(THIS_ _In_reads_bytes_(ByteCount)
const void *pData, _In_ uint32_t ByteOffset, _In_ uint32_t ByteCount) PURE;
323 STDMETHOD(GetRawValue)(THIS_ _Out_writes_bytes_(ByteCount)
void *pData, _In_ uint32_t ByteOffset, _In_ uint32_t ByteCount) PURE;
330 typedef interface ID3DX11EffectScalarVariable ID3DX11EffectScalarVariable;
331 typedef interface ID3DX11EffectScalarVariable *LPD3D11EFFECTSCALARVARIABLE;
334 DEFINE_GUID(IID_ID3DX11EffectScalarVariable,
335 0x921ef2e5, 0xa65d, 0x4e92, 0x9f, 0xc6, 0x4e, 0x9c, 0xc0, 0x9a, 0x4a, 0xde);
338 #define INTERFACE ID3DX11EffectScalarVariable 340 DECLARE_INTERFACE_(ID3DX11EffectScalarVariable, ID3DX11EffectVariable)
346 STDMETHOD(SetFloat)(THIS_ _In_
const float Value) PURE;
347 STDMETHOD(GetFloat)(THIS_ _Out_
float *pValue) PURE;
349 STDMETHOD(SetFloatArray)(THIS_ _In_reads_(Count)
const float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
350 STDMETHOD(GetFloatArray)(THIS_ _Out_writes_(Count)
float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
352 STDMETHOD(SetInt)(THIS_ _In_
const int Value) PURE;
353 STDMETHOD(GetInt)(THIS_ _Out_
int *pValue) PURE;
355 STDMETHOD(SetIntArray)(THIS_ _In_reads_(Count)
const int *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
356 STDMETHOD(GetIntArray)(THIS_ _Out_writes_(Count)
int *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
358 STDMETHOD(SetBool)(THIS_ _In_
const bool Value) PURE;
359 STDMETHOD(GetBool)(THIS_ _Out_
bool *pValue) PURE;
361 STDMETHOD(SetBoolArray)(THIS_ _In_reads_(Count)
const bool *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
362 STDMETHOD(GetBoolArray)(THIS_ _Out_writes_(Count)
bool *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
369 typedef interface ID3DX11EffectVectorVariable ID3DX11EffectVectorVariable;
370 typedef interface ID3DX11EffectVectorVariable *LPD3D11EFFECTVECTORVARIABLE;
373 DEFINE_GUID(IID_ID3DX11EffectVectorVariable,
374 0x5e785d4a, 0xd87b, 0x48d8, 0xb6, 0xe6, 0x0f, 0x8c, 0xa7, 0xe7, 0x46, 0x7a);
377 #define INTERFACE ID3DX11EffectVectorVariable 379 DECLARE_INTERFACE_(ID3DX11EffectVectorVariable, ID3DX11EffectVariable)
385 STDMETHOD(SetBoolVector) (THIS_ _In_reads_(4)
const bool *pData) PURE;
386 STDMETHOD(SetIntVector) (THIS_ _In_reads_(4)
const int *pData) PURE;
387 STDMETHOD(SetFloatVector)(THIS_ _In_reads_(4)
const float *pData) PURE;
389 STDMETHOD(GetBoolVector) (THIS_ _Out_writes_(4)
bool *pData) PURE;
390 STDMETHOD(GetIntVector) (THIS_ _Out_writes_(4)
int *pData) PURE;
391 STDMETHOD(GetFloatVector)(THIS_ _Out_writes_(4)
float *pData) PURE;
393 STDMETHOD(SetBoolVectorArray) (THIS_ _In_reads_(Count*4)
const bool *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
394 STDMETHOD(SetIntVectorArray) (THIS_ _In_reads_(Count*4)
const int *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
395 STDMETHOD(SetFloatVectorArray)(THIS_ _In_reads_(Count*4)
const float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
397 STDMETHOD(GetBoolVectorArray) (THIS_ _Out_writes_(Count*4)
bool *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
398 STDMETHOD(GetIntVectorArray) (THIS_ _Out_writes_(Count*4)
int *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
399 STDMETHOD(GetFloatVectorArray)(THIS_ _Out_writes_(Count*4)
float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
406 typedef interface ID3DX11EffectMatrixVariable ID3DX11EffectMatrixVariable;
407 typedef interface ID3DX11EffectMatrixVariable *LPD3D11EFFECTMATRIXVARIABLE;
410 DEFINE_GUID(IID_ID3DX11EffectMatrixVariable,
411 0xe1096cf4, 0xc027, 0x419a, 0x8d, 0x86, 0xd2, 0x91, 0x73, 0xdc, 0x80, 0x3e);
414 #define INTERFACE ID3DX11EffectMatrixVariable 416 DECLARE_INTERFACE_(ID3DX11EffectMatrixVariable, ID3DX11EffectVariable)
422 STDMETHOD(SetMatrix)(THIS_ _In_reads_(16)
const float *pData) PURE;
423 STDMETHOD(GetMatrix)(THIS_ _Out_writes_(16)
float *pData) PURE;
425 STDMETHOD(SetMatrixArray)(THIS_ _In_reads_(Count*16)
const float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
426 STDMETHOD(GetMatrixArray)(THIS_ _Out_writes_(Count*16)
float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
428 STDMETHOD(SetMatrixPointerArray)(_In_reads_(Count*16)
const float **ppData, uint32_t Offset, uint32_t Count) PURE;
429 STDMETHOD(GetMatrixPointerArray)(_Out_writes_(Count*16)
float **ppData, uint32_t Offset, uint32_t Count) PURE;
431 STDMETHOD(SetMatrixTranspose)(THIS_ _In_reads_(16)
const float *pData) PURE;
432 STDMETHOD(GetMatrixTranspose)(THIS_ _Out_writes_(16)
float *pData) PURE;
434 STDMETHOD(SetMatrixTransposeArray)(THIS_ _In_reads_(Count*16)
const float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
435 STDMETHOD(GetMatrixTransposeArray)(THIS_ _Out_writes_(Count*16)
float *pData, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
437 STDMETHOD(SetMatrixTransposePointerArray)(_In_reads_(Count*16)
const float **ppData, uint32_t Offset, uint32_t Count) PURE;
438 STDMETHOD(GetMatrixTransposePointerArray)(_Out_writes_(Count*16)
float **ppData, uint32_t Offset, uint32_t Count) PURE;
445 typedef interface ID3DX11EffectStringVariable ID3DX11EffectStringVariable;
446 typedef interface ID3DX11EffectStringVariable *LPD3D11EFFECTSTRINGVARIABLE;
449 DEFINE_GUID(IID_ID3DX11EffectStringVariable,
450 0xf355c818, 0x01be, 0x4653, 0xa7, 0xcc, 0x60, 0xff, 0xfe, 0xdd, 0xc7, 0x6d);
453 #define INTERFACE ID3DX11EffectStringVariable 455 DECLARE_INTERFACE_(ID3DX11EffectStringVariable, ID3DX11EffectVariable)
461 STDMETHOD(GetString)(THIS_ _Outptr_result_z_ LPCSTR *ppString) PURE;
462 STDMETHOD(GetStringArray)(THIS_ _Out_writes_(Count) LPCSTR *ppStrings, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
469 typedef interface ID3DX11EffectClassInstanceVariable ID3DX11EffectClassInstanceVariable;
470 typedef interface ID3DX11EffectClassInstanceVariable *LPD3D11EFFECTCLASSINSTANCEVARIABLE;
473 DEFINE_GUID(IID_ID3DX11EffectClassInstanceVariable,
474 0x926a8053, 0x2a39, 0x4db4, 0x9b, 0xde, 0xcf, 0x64, 0x9a, 0xde, 0xbd, 0xc1);
477 #define INTERFACE ID3DX11EffectClassInstanceVariable 479 DECLARE_INTERFACE_(ID3DX11EffectClassInstanceVariable, ID3DX11EffectVariable)
485 STDMETHOD(GetClassInstance)(_Outptr_ ID3D11ClassInstance** ppClassInstance) PURE;
492 typedef interface ID3DX11EffectInterfaceVariable ID3DX11EffectInterfaceVariable;
493 typedef interface ID3DX11EffectInterfaceVariable *LPD3D11EFFECTINTERFACEVARIABLE;
496 DEFINE_GUID(IID_ID3DX11EffectInterfaceVariable,
497 0x516c8cd8, 0x1c80, 0x40a4, 0xb1, 0x9b, 0x06, 0x88, 0x79, 0x2f, 0x11, 0xa5);
500 #define INTERFACE ID3DX11EffectInterfaceVariable 502 DECLARE_INTERFACE_(ID3DX11EffectInterfaceVariable, ID3DX11EffectVariable)
508 STDMETHOD(SetClassInstance)(_In_ ID3DX11EffectClassInstanceVariable *pEffectClassInstance) PURE;
509 STDMETHOD(GetClassInstance)(_Outptr_ ID3DX11EffectClassInstanceVariable **ppEffectClassInstance) PURE;
516 typedef interface ID3DX11EffectShaderResourceVariable ID3DX11EffectShaderResourceVariable;
517 typedef interface ID3DX11EffectShaderResourceVariable *LPD3D11EFFECTSHADERRESOURCEVARIABLE;
520 DEFINE_GUID(IID_ID3DX11EffectShaderResourceVariable,
521 0x350db233, 0xbbe0, 0x485c, 0x9b, 0xfe, 0xc0, 0x02, 0x6b, 0x84, 0x4f, 0x89);
524 #define INTERFACE ID3DX11EffectShaderResourceVariable 526 DECLARE_INTERFACE_(ID3DX11EffectShaderResourceVariable, ID3DX11EffectVariable)
532 STDMETHOD(SetResource)(THIS_ _In_ ID3D11ShaderResourceView *pResource) PURE;
533 STDMETHOD(GetResource)(THIS_ _Outptr_ ID3D11ShaderResourceView **ppResource) PURE;
535 STDMETHOD(SetResourceArray)(THIS_ _In_reads_(Count) ID3D11ShaderResourceView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
536 STDMETHOD(GetResourceArray)(THIS_ _Out_writes_(Count) ID3D11ShaderResourceView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
543 typedef interface ID3DX11EffectUnorderedAccessViewVariable ID3DX11EffectUnorderedAccessViewVariable;
544 typedef interface ID3DX11EffectUnorderedAccessViewVariable *LPD3D11EFFECTUNORDEREDACCESSVIEWVARIABLE;
547 DEFINE_GUID(IID_ID3DX11EffectUnorderedAccessViewVariable,
548 0x79b4ac8c, 0x870a, 0x47d2, 0xb0, 0x5a, 0x8b, 0xd5, 0xcc, 0x3e, 0xe6, 0xc9);
551 #define INTERFACE ID3DX11EffectUnorderedAccessViewVariable 553 DECLARE_INTERFACE_(ID3DX11EffectUnorderedAccessViewVariable, ID3DX11EffectVariable)
559 STDMETHOD(SetUnorderedAccessView)(THIS_ _In_ ID3D11UnorderedAccessView *pResource) PURE;
560 STDMETHOD(GetUnorderedAccessView)(THIS_ _Outptr_ ID3D11UnorderedAccessView **ppResource) PURE;
562 STDMETHOD(SetUnorderedAccessViewArray)(THIS_ _In_reads_(Count) ID3D11UnorderedAccessView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
563 STDMETHOD(GetUnorderedAccessViewArray)(THIS_ _Out_writes_(Count) ID3D11UnorderedAccessView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
570 typedef interface ID3DX11EffectRenderTargetViewVariable ID3DX11EffectRenderTargetViewVariable;
571 typedef interface ID3DX11EffectRenderTargetViewVariable *LPD3D11EFFECTRENDERTARGETVIEWVARIABLE;
574 DEFINE_GUID(IID_ID3DX11EffectRenderTargetViewVariable,
575 0xd5066909, 0xf40c, 0x43f8, 0x9d, 0xb5, 0x05, 0x7c, 0x2a, 0x20, 0x85, 0x52);
578 #define INTERFACE ID3DX11EffectRenderTargetViewVariable 580 DECLARE_INTERFACE_(ID3DX11EffectRenderTargetViewVariable, ID3DX11EffectVariable)
586 STDMETHOD(SetRenderTarget)(THIS_ _In_ ID3D11RenderTargetView *pResource) PURE;
587 STDMETHOD(GetRenderTarget)(THIS_ _Outptr_ ID3D11RenderTargetView **ppResource) PURE;
589 STDMETHOD(SetRenderTargetArray)(THIS_ _In_reads_(Count) ID3D11RenderTargetView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
590 STDMETHOD(GetRenderTargetArray)(THIS_ _Out_writes_(Count) ID3D11RenderTargetView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
597 typedef interface ID3DX11EffectDepthStencilViewVariable ID3DX11EffectDepthStencilViewVariable;
598 typedef interface ID3DX11EffectDepthStencilViewVariable *LPD3D11EFFECTDEPTHSTENCILVIEWVARIABLE;
601 DEFINE_GUID(IID_ID3DX11EffectDepthStencilViewVariable,
602 0x33c648ac, 0x2e9e, 0x4a2e, 0x9c, 0xd6, 0xde, 0x31, 0xac, 0xc5, 0xb3, 0x47);
605 #define INTERFACE ID3DX11EffectDepthStencilViewVariable 607 DECLARE_INTERFACE_(ID3DX11EffectDepthStencilViewVariable, ID3DX11EffectVariable)
613 STDMETHOD(SetDepthStencil)(THIS_ _In_ ID3D11DepthStencilView *pResource) PURE;
614 STDMETHOD(GetDepthStencil)(THIS_ _Outptr_ ID3D11DepthStencilView **ppResource) PURE;
616 STDMETHOD(SetDepthStencilArray)(THIS_ _In_reads_(Count) ID3D11DepthStencilView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
617 STDMETHOD(GetDepthStencilArray)(THIS_ _Out_writes_(Count) ID3D11DepthStencilView **ppResources, _In_ uint32_t Offset, _In_ uint32_t Count) PURE;
624 typedef interface ID3DX11EffectConstantBuffer ID3DX11EffectConstantBuffer;
625 typedef interface ID3DX11EffectConstantBuffer *LPD3D11EFFECTCONSTANTBUFFER;
628 DEFINE_GUID(IID_ID3DX11EffectConstantBuffer,
629 0x2cb6c733, 0x82d2, 0x4000, 0xb3, 0xda, 0x62, 0x19, 0xd9, 0xa9, 0x9b, 0xf2);
632 #define INTERFACE ID3DX11EffectConstantBuffer 634 DECLARE_INTERFACE_(ID3DX11EffectConstantBuffer, ID3DX11EffectVariable)
640 STDMETHOD(SetConstantBuffer)(THIS_ _In_ ID3D11Buffer *pConstantBuffer) PURE;
641 STDMETHOD(UndoSetConstantBuffer)(THIS) PURE;
642 STDMETHOD(GetConstantBuffer)(THIS_ _Outptr_ ID3D11Buffer **ppConstantBuffer) PURE;
644 STDMETHOD(SetTextureBuffer)(THIS_ _In_ ID3D11ShaderResourceView *pTextureBuffer) PURE;
645 STDMETHOD(UndoSetTextureBuffer)(THIS) PURE;
646 STDMETHOD(GetTextureBuffer)(THIS_ _Outptr_ ID3D11ShaderResourceView **ppTextureBuffer) PURE;
661 const uint8_t *pInputSignature;
669 const uint8_t *pBytecode;
670 uint32_t BytecodeLength;
672 LPCSTR SODecls[D3D11_SO_STREAM_COUNT];
673 uint32_t RasterizedStream;
675 uint32_t NumInputSignatureEntries;
676 uint32_t NumOutputSignatureEntries;
677 uint32_t NumPatchConstantSignatureEntries;
681 typedef interface ID3DX11EffectShaderVariable ID3DX11EffectShaderVariable;
682 typedef interface ID3DX11EffectShaderVariable *LPD3D11EFFECTSHADERVARIABLE;
685 DEFINE_GUID(IID_ID3DX11EffectShaderVariable,
686 0x7508b344, 0x020a, 0x4ec7, 0x91, 0x18, 0x62, 0xcd, 0xd3, 0x6c, 0x88, 0xd7);
689 #define INTERFACE ID3DX11EffectShaderVariable 691 DECLARE_INTERFACE_(ID3DX11EffectShaderVariable, ID3DX11EffectVariable)
699 STDMETHOD(GetVertexShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11VertexShader **ppVS) PURE;
700 STDMETHOD(GetGeometryShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11GeometryShader **ppGS) PURE;
701 STDMETHOD(GetPixelShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11PixelShader **ppPS) PURE;
702 STDMETHOD(GetHullShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11HullShader **ppHS) PURE;
703 STDMETHOD(GetDomainShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11DomainShader **ppDS) PURE;
704 STDMETHOD(GetComputeShader)(THIS_ _In_ uint32_t ShaderIndex, _Outptr_ ID3D11ComputeShader **ppCS) PURE;
706 STDMETHOD(GetInputSignatureElementDesc)(THIS_ _In_ uint32_t ShaderIndex, _In_ uint32_t Element, _Out_ D3D11_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
707 STDMETHOD(GetOutputSignatureElementDesc)(THIS_ _In_ uint32_t ShaderIndex, _In_ uint32_t Element, _Out_ D3D11_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
708 STDMETHOD(GetPatchConstantSignatureElementDesc)(THIS_ _In_ uint32_t ShaderIndex, _In_ uint32_t Element, _Out_ D3D11_SIGNATURE_PARAMETER_DESC *pDesc) PURE;
715 typedef interface ID3DX11EffectBlendVariable ID3DX11EffectBlendVariable;
716 typedef interface ID3DX11EffectBlendVariable *LPD3D11EFFECTBLENDVARIABLE;
719 DEFINE_GUID(IID_ID3DX11EffectBlendVariable,
720 0xd664f4d7, 0x3b81, 0x4805, 0xb2, 0x77, 0xc1, 0xdf, 0x58, 0xc3, 0x9f, 0x53);
723 #define INTERFACE ID3DX11EffectBlendVariable 725 DECLARE_INTERFACE_(ID3DX11EffectBlendVariable, ID3DX11EffectVariable)
731 STDMETHOD(GetBlendState)(THIS_ _In_ uint32_t Index, _Outptr_ ID3D11BlendState **ppState) PURE;
732 STDMETHOD(SetBlendState)(THIS_ _In_ uint32_t Index, _In_ ID3D11BlendState *pState) PURE;
733 STDMETHOD(UndoSetBlendState)(THIS_ _In_ uint32_t Index) PURE;
734 STDMETHOD(GetBackingStore)(THIS_ _In_ uint32_t Index, _Out_ D3D11_BLEND_DESC *pDesc) PURE;
741 typedef interface ID3DX11EffectDepthStencilVariable ID3DX11EffectDepthStencilVariable;
742 typedef interface ID3DX11EffectDepthStencilVariable *LPD3D11EFFECTDEPTHSTENCILVARIABLE;
745 DEFINE_GUID(IID_ID3DX11EffectDepthStencilVariable,
746 0x69b5751b, 0x61a5, 0x48e5, 0xbd, 0x41, 0xd9, 0x39, 0x88, 0x11, 0x15, 0x63);
749 #define INTERFACE ID3DX11EffectDepthStencilVariable 751 DECLARE_INTERFACE_(ID3DX11EffectDepthStencilVariable, ID3DX11EffectVariable)
757 STDMETHOD(GetDepthStencilState)(THIS_ _In_ uint32_t Index, _Outptr_ ID3D11DepthStencilState **ppState) PURE;
758 STDMETHOD(SetDepthStencilState)(THIS_ _In_ uint32_t Index, _In_ ID3D11DepthStencilState *pState) PURE;
759 STDMETHOD(UndoSetDepthStencilState)(THIS_ _In_ uint32_t Index) PURE;
760 STDMETHOD(GetBackingStore)(THIS_ _In_ uint32_t Index, _Out_ D3D11_DEPTH_STENCIL_DESC *pDesc) PURE;
767 typedef interface ID3DX11EffectRasterizerVariable ID3DX11EffectRasterizerVariable;
768 typedef interface ID3DX11EffectRasterizerVariable *LPD3D11EFFECTRASTERIZERVARIABLE;
771 DEFINE_GUID(IID_ID3DX11EffectRasterizerVariable,
772 0x53a262f6, 0x5f74, 0x4151, 0xa1, 0x32, 0xe3, 0xdd, 0x19, 0xa6, 0x2c, 0x9d);
775 #define INTERFACE ID3DX11EffectRasterizerVariable 777 DECLARE_INTERFACE_(ID3DX11EffectRasterizerVariable, ID3DX11EffectVariable)
783 STDMETHOD(GetRasterizerState)(THIS_ _In_ uint32_t Index, _Outptr_ ID3D11RasterizerState **ppState) PURE;
784 STDMETHOD(SetRasterizerState)(THIS_ _In_ uint32_t Index, _In_ ID3D11RasterizerState *pState) PURE;
785 STDMETHOD(UndoSetRasterizerState)(THIS_ _In_ uint32_t Index) PURE;
786 STDMETHOD(GetBackingStore)(THIS_ _In_ uint32_t Index, _Out_ D3D11_RASTERIZER_DESC *pDesc) PURE;
793 typedef interface ID3DX11EffectSamplerVariable ID3DX11EffectSamplerVariable;
794 typedef interface ID3DX11EffectSamplerVariable *LPD3D11EFFECTSAMPLERVARIABLE;
797 DEFINE_GUID(IID_ID3DX11EffectSamplerVariable,
798 0xc6402e55, 0x1095, 0x4d95, 0x89, 0x31, 0xf9, 0x26, 0x60, 0x51, 0x3d, 0xd9);
801 #define INTERFACE ID3DX11EffectSamplerVariable 803 DECLARE_INTERFACE_(ID3DX11EffectSamplerVariable, ID3DX11EffectVariable)
809 STDMETHOD(GetSampler)(THIS_ _In_ uint32_t Index, _Outptr_ ID3D11SamplerState **ppSampler) PURE;
810 STDMETHOD(SetSampler)(THIS_ _In_ uint32_t Index, _In_ ID3D11SamplerState *pSampler) PURE;
811 STDMETHOD(UndoSetSampler)(THIS_ _In_ uint32_t Index) PURE;
812 STDMETHOD(GetBackingStore)(THIS_ _In_ uint32_t Index, _Out_ D3D11_SAMPLER_DESC *pDesc) PURE;
828 uint32_t Annotations;
830 uint8_t *pIAInputSignature;
832 size_t IAInputSignatureSize;
836 FLOAT BlendFactor[4];
847 ID3DX11EffectShaderVariable *pShaderVariable;
858 uint32_t ShaderIndex;
862 typedef interface ID3DX11EffectPass ID3DX11EffectPass;
863 typedef interface ID3DX11EffectPass *LPD3D11EFFECTPASS;
866 DEFINE_GUID(IID_ID3DX11EffectPass,
867 0x3437cec4, 0x4ac1, 0x4d87, 0x89, 0x16, 0xf4, 0xbd, 0x5a, 0x41, 0x38, 0x0c);
870 #define INTERFACE ID3DX11EffectPass 872 DECLARE_INTERFACE_(ID3DX11EffectPass, IUnknown)
877 STDMETHOD_(
bool, IsValid)(THIS) PURE;
887 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByIndex)(THIS_ _In_ uint32_t Index) PURE;
888 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByName)(THIS_ _In_z_ LPCSTR Name) PURE;
890 STDMETHOD(Apply)(THIS_ _In_ uint32_t
Flags, _In_ ID3D11DeviceContext* pContext) PURE;
909 uint32_t Annotations;
912 typedef interface ID3DX11EffectTechnique ID3DX11EffectTechnique;
913 typedef interface ID3DX11EffectTechnique *LPD3D11EFFECTTECHNIQUE;
916 DEFINE_GUID(IID_ID3DX11EffectTechnique,
917 0x51198831, 0x1f1d, 0x4f47, 0xbd, 0x76, 0x41, 0xcb, 0x08, 0x35, 0xb1, 0xde);
920 #define INTERFACE ID3DX11EffectTechnique 922 DECLARE_INTERFACE_(ID3DX11EffectTechnique, IUnknown)
927 STDMETHOD_(
bool, IsValid)(THIS) PURE;
930 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByIndex)(THIS_ _In_ uint32_t Index) PURE;
931 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByName)(THIS_ _In_z_ LPCSTR Name) PURE;
933 STDMETHOD_(ID3DX11EffectPass*, GetPassByIndex)(THIS_ _In_ uint32_t Index) PURE;
934 STDMETHOD_(ID3DX11EffectPass*, GetPassByName)(THIS_ _In_z_ LPCSTR Name) PURE;
953 uint32_t Annotations;
956 typedef interface ID3DX11EffectGroup ID3DX11EffectGroup;
957 typedef interface ID3DX11EffectGroup *LPD3D11EFFECTGROUP;
960 DEFINE_GUID(IID_ID3DX11EffectGroup,
961 0x03074acf, 0x97de, 0x485f, 0xb2, 0x01, 0xcb, 0x77, 0x52, 0x64, 0xaf, 0xd6);
964 #define INTERFACE ID3DX11EffectGroup 966 DECLARE_INTERFACE_(ID3DX11EffectGroup, IUnknown)
971 STDMETHOD_(
bool, IsValid)(THIS) PURE;
974 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByIndex)(THIS_ _In_ uint32_t Index) PURE;
975 STDMETHOD_(ID3DX11EffectVariable*, GetAnnotationByName)(THIS_ _In_z_ LPCSTR Name) PURE;
977 STDMETHOD_(ID3DX11EffectTechnique*, GetTechniqueByIndex)(THIS_ _In_ uint32_t Index) PURE;
978 STDMETHOD_(ID3DX11EffectTechnique*, GetTechniqueByName)(THIS_ _In_z_ LPCSTR Name) PURE;
993 uint32_t ConstantBuffers;
994 uint32_t GlobalVariables;
995 uint32_t InterfaceVariables;
1000 typedef interface ID3DX11Effect ID3DX11Effect;
1001 typedef interface ID3DX11Effect *LPD3D11EFFECT;
1004 DEFINE_GUID(IID_ID3DX11Effect,
1005 0xfa61ca24, 0xe4ba, 0x4262, 0x9d, 0xb8, 0xb1, 0x32, 0xe8, 0xca, 0xe3, 0x19);
1008 #define INTERFACE ID3DX11Effect 1010 DECLARE_INTERFACE_(ID3DX11Effect, IUnknown)
1015 STDMETHOD_(
bool, IsValid)(THIS) PURE;
1017 STDMETHOD(GetDevice)(THIS_ _Outptr_ ID3D11Device** ppDevice) PURE;
1021 STDMETHOD_(ID3DX11EffectConstantBuffer*, GetConstantBufferByIndex)(THIS_ _In_ uint32_t Index) PURE;
1022 STDMETHOD_(ID3DX11EffectConstantBuffer*, GetConstantBufferByName)(THIS_ _In_z_ LPCSTR Name) PURE;
1024 STDMETHOD_(ID3DX11EffectVariable*, GetVariableByIndex)(THIS_ _In_ uint32_t Index) PURE;
1025 STDMETHOD_(ID3DX11EffectVariable*, GetVariableByName)(THIS_ _In_z_ LPCSTR Name) PURE;
1026 STDMETHOD_(ID3DX11EffectVariable*, GetVariableBySemantic)(THIS_ _In_z_ LPCSTR Semantic) PURE;
1028 STDMETHOD_(ID3DX11EffectGroup*, GetGroupByIndex)(THIS_ _In_ uint32_t Index) PURE;
1029 STDMETHOD_(ID3DX11EffectGroup*, GetGroupByName)(THIS_ _In_z_ LPCSTR Name) PURE;
1031 STDMETHOD_(ID3DX11EffectTechnique*, GetTechniqueByIndex)(THIS_ _In_ uint32_t Index) PURE;
1032 STDMETHOD_(ID3DX11EffectTechnique*, GetTechniqueByName)(THIS_ _In_z_ LPCSTR Name) PURE;
1034 STDMETHOD_(ID3D11ClassLinkage*, GetClassLinkage)(THIS) PURE;
1036 STDMETHOD(CloneEffect)(THIS_ _In_ uint32_t
Flags, _Outptr_ ID3DX11Effect** ppClonedEffect ) PURE;
1037 STDMETHOD(Optimize)(THIS) PURE;
1038 STDMETHOD_(
bool, IsOptimized)(THIS) PURE;
1047 #endif //__cplusplus 1076 HRESULT WINAPI D3DX11CreateEffectFromMemory( _In_reads_bytes_(DataLength) LPCVOID pData,
1077 _In_ SIZE_T DataLength,
1079 _In_ ID3D11Device *pDevice,
1080 _Outptr_ ID3DX11Effect **ppEffect,
1081 _In_opt_z_ LPCSTR srcName =
nullptr );
1106 HRESULT WINAPI D3DX11CreateEffectFromFile( _In_z_ LPCWSTR pFileName,
1108 _In_ ID3D11Device *pDevice,
1109 _Outptr_ ID3DX11Effect **ppEffect );
1144 HRESULT D3DX11CompileEffectFromMemory( _In_reads_bytes_(DataLength) LPCVOID pData,
1145 _In_ SIZE_T DataLength,
1146 _In_opt_z_ LPCSTR srcName,
1147 _In_opt_
const D3D_SHADER_MACRO *pDefines,
1148 _In_opt_ ID3DInclude *pInclude,
1149 _In_ UINT HLSLFlags,
1151 _In_ ID3D11Device *pDevice,
1152 _Out_ ID3DX11Effect **ppEffect,
1153 _Outptr_opt_result_maybenull_ ID3DBlob **ppErrors );
1184 HRESULT D3DX11CompileEffectFromFile( _In_z_ LPCWSTR pFileName,
1185 _In_opt_
const D3D_SHADER_MACRO *pDefines,
1186 _In_opt_ ID3DInclude *pInclude,
1187 _In_ UINT HLSLFlags,
1189 _In_ ID3D11Device *pDevice,
1190 _Out_ ID3DX11Effect **ppEffect,
1191 _Outptr_opt_result_maybenull_ ID3DBlob **ppErrors );
1208 bool D3DX11DebugMute(
bool mute);
1212 #endif //__cplusplus Definition: d3dx11effect.h:825
Definition: d3dx11effect.h:236
Definition: d3dx11effect.h:905
Definition: d3dx11effect.h:949
Definition: d3dx11effect.h:659
Definition: d3dx11effect.h:845
Definition: d3dx11effect.h:44
Definition: d3dx11effect.h:177
Definition: d3dx11effect.h:991
Definition: TestJobManager.cpp:22