23 #define D3DX11_FXL_VERSION(_Major,_Minor) (('F' << 24) | ('X' << 16) | ((_Major) << 8) | (_Minor)) 35 {
"fx_4_0", D3DX11_FXL_VERSION(4,0), 0xFEFF1001 },
36 {
"fx_4_1", D3DX11_FXL_VERSION(4,1), 0xFEFF1011 },
37 {
"fx_5_0", D3DX11_FXL_VERSION(5,0), 0xFEFF2001 },
53 ELHS_PixelShaderBlock,
54 ELHS_VertexShaderBlock,
55 ELHS_GeometryShaderBlock,
56 ELHS_RenderTargetView,
57 ELHS_DepthStencilView,
60 ELHS_DepthStencilBlock,
71 ELHS_GeometryShaderSO,
73 ELHS_ComputeShaderBlock,
75 ELHS_DomainShaderBlock,
79 ELHS_FillMode = 0x20000,
84 ELHS_SlopeScaledDepthBias,
87 ELHS_MultisampleEnable,
88 ELHS_AntialiasedLineEnable,
92 ELHS_Filter = 0x30000,
106 ELHS_DepthEnable = 0x40000,
110 ELHS_StencilReadMask,
111 ELHS_StencilWriteMask,
112 ELHS_FrontFaceStencilFailOp,
113 ELHS_FrontFaceStencilDepthFailOp,
114 ELHS_FrontFaceStencilPassOp,
115 ELHS_FrontFaceStencilFunc,
116 ELHS_BackFaceStencilFailOp,
117 ELHS_BackFaceStencilDepthFailOp,
118 ELHS_BackFaceStencilPassOp,
119 ELHS_BackFaceStencilFunc,
123 ELHS_AlphaToCoverage = 0x50000,
131 ELHS_RenderTargetWriteMask,
183 EOT_GeometryShaderSO,
190 EOT_Texture2DMSArray,
194 EOT_RenderTargetView,
195 EOT_DepthStencilView,
198 EOT_TextureCubeArray,
207 EOT_RWTexture1DArray,
209 EOT_RWTexture2DArray,
212 EOT_ByteAddressBuffer,
213 EOT_RWByteAddressBuffer,
214 EOT_StructuredBuffer,
215 EOT_RWStructuredBuffer,
216 EOT_RWStructuredBufferAlloc,
217 EOT_RWStructuredBufferConsume,
218 EOT_AppendStructuredBuffer,
219 EOT_ConsumeStructuredBuffer,
222 inline bool IsObjectTypeHelper(EVarType InVarType,
223 EObjectType InObjType,
224 EObjectType TargetObjType)
226 return (InVarType == EVT_Object) && (InObjType == TargetObjType);
229 inline bool IsSamplerHelper(EVarType InVarType,
230 EObjectType InObjType)
232 return (InVarType == EVT_Object) && (InObjType == EOT_Sampler);
235 inline bool IsStateBlockObjectHelper(EVarType InVarType,
236 EObjectType InObjType)
238 return (InVarType == EVT_Object) && ((InObjType == EOT_Blend) || (InObjType == EOT_DepthStencil) || (InObjType == EOT_Rasterizer) || IsSamplerHelper(InVarType, InObjType));
241 inline bool IsShaderHelper(EVarType InVarType,
242 EObjectType InObjType)
244 return (InVarType == EVT_Object) && ((InObjType == EOT_VertexShader) ||
245 (InObjType == EOT_VertexShader5) ||
246 (InObjType == EOT_HullShader5) ||
247 (InObjType == EOT_DomainShader5) ||
248 (InObjType == EOT_ComputeShader5) ||
249 (InObjType == EOT_GeometryShader) ||
250 (InObjType == EOT_GeometryShaderSO) ||
251 (InObjType == EOT_GeometryShader5) ||
252 (InObjType == EOT_PixelShader) ||
253 (InObjType == EOT_PixelShader5));
256 inline bool IsShader5Helper(EVarType InVarType,
257 EObjectType InObjType)
259 return (InVarType == EVT_Object) && ((InObjType == EOT_VertexShader5) ||
260 (InObjType == EOT_HullShader5) ||
261 (InObjType == EOT_DomainShader5) ||
262 (InObjType == EOT_ComputeShader5) ||
263 (InObjType == EOT_GeometryShader5) ||
264 (InObjType == EOT_PixelShader5));
267 inline bool IsInterfaceHelper(EVarType InVarType, EObjectType InObjType)
269 UNREFERENCED_PARAMETER(InObjType);
270 return (InVarType == EVT_Interface);
273 inline bool IsShaderResourceHelper(EVarType InVarType,
274 EObjectType InObjType)
276 return (InVarType == EVT_Object) && ((InObjType == EOT_Texture) ||
277 (InObjType == EOT_Texture1D) ||
278 (InObjType == EOT_Texture1DArray) ||
279 (InObjType == EOT_Texture2D) ||
280 (InObjType == EOT_Texture2DArray) ||
281 (InObjType == EOT_Texture2DMS) ||
282 (InObjType == EOT_Texture2DMSArray) ||
283 (InObjType == EOT_Texture3D) ||
284 (InObjType == EOT_TextureCube) ||
285 (InObjType == EOT_TextureCubeArray) ||
286 (InObjType == EOT_Buffer) ||
287 (InObjType == EOT_StructuredBuffer) ||
288 (InObjType == EOT_ByteAddressBuffer));
291 inline bool IsUnorderedAccessViewHelper(EVarType InVarType,
292 EObjectType InObjType)
294 return (InVarType == EVT_Object) &&
295 ((InObjType == EOT_RWTexture1D) ||
296 (InObjType == EOT_RWTexture1DArray) ||
297 (InObjType == EOT_RWTexture2D) ||
298 (InObjType == EOT_RWTexture2DArray) ||
299 (InObjType == EOT_RWTexture3D) ||
300 (InObjType == EOT_RWBuffer) ||
301 (InObjType == EOT_RWByteAddressBuffer) ||
302 (InObjType == EOT_RWStructuredBuffer) ||
303 (InObjType == EOT_RWStructuredBufferAlloc) ||
304 (InObjType == EOT_RWStructuredBufferConsume) ||
305 (InObjType == EOT_AppendStructuredBuffer) ||
306 (InObjType == EOT_ConsumeStructuredBuffer));
309 inline bool IsRenderTargetViewHelper(EVarType InVarType,
310 EObjectType InObjType)
312 return (InVarType == EVT_Object) && (InObjType == EOT_RenderTargetView);
315 inline bool IsDepthStencilViewHelper(EVarType InVarType,
316 EObjectType InObjType)
318 return (InVarType == EVT_Object) && (InObjType == EOT_DepthStencilView);
321 inline bool IsObjectAssignmentHelper(ELhsType LhsType)
325 case ELHS_VertexShaderBlock:
326 case ELHS_HullShaderBlock:
327 case ELHS_DepthStencilView:
328 case ELHS_GeometryShaderBlock:
329 case ELHS_PixelShaderBlock:
330 case ELHS_ComputeShaderBlock:
331 case ELHS_DepthStencilBlock:
332 case ELHS_RasterizerBlock:
333 case ELHS_BlendBlock:
335 case ELHS_RenderTargetView:
336 case ELHS_DomainShaderBlock:
378 uint32_t cNumericVariables;
379 uint32_t cObjectVariables;
388 uint32_t cTechniques;
389 uint32_t cbUnstructured;
392 uint32_t cShaderResources;
394 uint32_t cDepthStencilBlocks;
395 uint32_t cBlendStateBlocks;
396 uint32_t cRasterizerStateBlocks;
398 uint32_t cRenderTargetViews;
399 uint32_t cDepthStencilViews;
401 uint32_t cTotalShaders;
402 uint32_t cInlineShaders;
404 inline bool RequiresPool()
const 406 return (Pool.cCBs != 0) ||
407 (Pool.cNumericVariables != 0) ||
408 (Pool.cObjectVariables != 0);
415 uint32_t cUnorderedAccessViews;
416 uint32_t cInterfaceVariables;
417 uint32_t cInterfaceVariableElements;
418 uint32_t cClassInstanceElements;
425 static const uint32_t c_IsTBuffer = (1 << 0);
426 static const uint32_t c_IsSingle = (1 << 1);
432 uint32_t ExplicitBindPoint;
454 uint32_t oDefaultValue;
462 uint32_t oDefaultValue;
468 uint32_t oInstanceName;
477 uint32_t ExplicitBindPoint;
513 uint32_t oSODecls[4];
515 uint32_t RasterizedStream;
516 uint32_t cInterfaceBindings;
517 uint32_t oInterfaceBindings;
560 ENumericLayout NumericLayout : 3;
561 EScalarType ScalarType : 5;
563 uint32_t Columns : 3;
564 uint32_t IsColumnMajor : 1;
565 uint32_t IsPackedArray : 1;
571 uint32_t cInterfaces;
580 uint32_t cTechniques;
592 uint32_t cAssignments;
595 enum ECompilerAssignmentType
602 ECAT_ExpressionIndex,
612 ECompilerAssignmentType AssignmentType;
613 uint32_t oInitializer;
624 uint32_t oIndexVarName;
651 static_assert(
sizeof(
SBinaryHeader) == 76,
"FX11 binary size mismatch" );
653 static_assert(
sizeof(
SBinaryHeader5) == 96,
"FX11 binary size mismatch" );
662 static_assert(
sizeof(
SBinaryType) == 24,
"FX11 binary size mismatch" );
666 static_assert(
sizeof(
SBinaryGroup) == 8,
"FX11 binary size mismatch" );
667 static_assert(
sizeof(
SBinaryTechnique) == 8,
"FX11 binary size mismatch" );
668 static_assert(
sizeof(
SBinaryPass) == 8,
"FX11 binary size mismatch" );
Definition: EffectBinaryFormat.h:422
Definition: EffectBinaryFormat.h:583
Definition: EffectBinaryFormat.h:520
Definition: EffectBinaryFormat.h:16
Definition: EffectBinaryFormat.h:532
Definition: EffectBinaryFormat.h:558
Definition: EffectBinaryFormat.h:466
Definition: EffectBinaryFormat.h:640
Definition: EffectBinaryFormat.h:577
Definition: EffectBinaryFormat.h:608
Definition: EffectBinaryFormat.h:568
Definition: EffectBinaryFormat.h:589
Definition: EffectBinaryFormat.h:436
Definition: EffectBinaryFormat.h:621
Definition: EffectBinaryFormat.h:504
Definition: EffectBinaryFormat.h:615
Definition: EffectBinaryFormat.h:633
Definition: EffectBinaryFormat.h:25
Definition: EffectBinaryFormat.h:448
Definition: EffectBinaryFormat.h:627
Definition: EffectBinaryFormat.h:510
Definition: EffectBinaryFormat.h:472
Definition: EffectBinaryFormat.h:458
Definition: TestJobManager.cpp:22