ShaderFlags Enumeration

Language:

Defines the compiler options to use during a shader compilation.

Definition

Visual Basic Public Enum ShaderFlags
C# public enum ShaderFlags
C++ public enum class ShaderFlags
JScript public enum ShaderFlags

Members

Member Value Description
Debug 1 Inserts debug file name and line number information during compilation.
None 0 Instructs the compiler to use no options during compilation. Value resolves to 0.
NotCloneable 2048 Instructs the effect runtime that the effect will never be cloned (i.e. by using the Effect.Clone method). This reduces the memory usage for the effect by eliminating the need to keep a copy of the effect's shaders in memory.
PreferFlowControl 1024 Instructs the compiler to prefer using flow-control instructions.
AvoidFlowControl 512 Instructs the compiler to avoid using flow-control instructions.
NoPreShader 256 Disables preshaders; that is, the compiler will not pull out static expressions for evaluation on the host CPU.
ForcePixelShaderSoftwareNoOptimizations 128 Instructs the compiler to use software pixel shaders.
ForceVertexShaderSoftwareNoOptimizations 64 Instructs the compiler to use software vertex shaders.
PartialPrecision 32 Indicates to the device that the operation can be performed and the result stored at a lower precision (at least s10e5).
PackMatrixColumnMajor 16 Instructs the compiler to pack matrices in column major order (that is, each vector in a single column).
PackMatrixRowMajor 8 Instructs the compiler to pack matrices in row major order (that is, each vector in a single row).
SkipOptimization 4 Instructs the compiler to skip optimization steps during code generation. This option is valid only when calling ShaderLoader.CompileShader; it is not recommended unless you are trying to isolate a code problem that you suspect originates in the compiler.
SkipValidation 2 Prevents the compiler from validating the generated code against known capabilities and constraints. This option is recommended only when compiling shaders that are known to work (that is, those that have compiled before without this option). Shaders are always validated before they are set to the device.

Enumeration Information

Namespace Microsoft.DirectX.Direct3D
Assembly Microsoft.DirectX.Direct3DX (microsoft.directx.direct3dx.dll)
Strong Name Microsoft.DirectX.Direct3DX,  Version=1.0.900.0,  Culture=neutral,  PublicKeyToken=d3231b57b74a1492

Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center