+++ /dev/null
-/*\r
-* Copyright (c) 2007-2010 SlimDX Group\r
-* \r
-* Permission is hereby granted, free of charge, to any person obtaining a copy\r
-* of this software and associated documentation files (the "Software"), to deal\r
-* in the Software without restriction, including without limitation the rights\r
-* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
-* copies of the Software, and to permit persons to whom the Software is\r
-* furnished to do so, subject to the following conditions:\r
-* \r
-* The above copyright notice and this permission notice shall be included in\r
-* all copies or substantial portions of the Software.\r
-* \r
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-* THE SOFTWARE.\r
-*/\r
-#pragma once\r
-\r
-#include "../direct3d11/Enums11.h"\r
-\r
-namespace SlimDX\r
-{\r
- namespace D3DCompiler\r
- {\r
- // NOTE: The enumerations defined in this file are in alphabetical order. When\r
- // adding new enumerations or renaming existing ones, please make sure\r
- // the ordering is maintained.\r
-\r
- /// <summary>\r
- /// Indicates a constant buffer's type.\r
- /// </summary>\r
- /// <unmanaged>D3D11_CBUFFER_TYPE</unmanaged>\r
- public enum class ConstantBufferType : System::Int32\r
- {\r
- /// <summary>\r
- /// A buffer containing scalar constants.\r
- /// </summary>\r
- ConstantBuffer = D3D11_CT_CBUFFER,\r
-\r
- /// <summary>\r
- /// A buffer containing texture data.\r
- /// </summary>\r
- TextureBuffer = D3D11_CT_TBUFFER,\r
-\r
- /// <summary>\r
- /// A buffer containing interface pointers.\r
- /// </summary>\r
- InterfacePointers = D3D11_CT_INTERFACE_POINTERS,\r
-\r
- /// <summary>\r
- /// A buffer containing binding information.\r
- /// </summary>\r
- ResourceBinding = D3D11_CT_RESOURCE_BIND_INFO\r
- };\r
-\r
- /// <summary>\r
- /// Specifies flags that affect the output of shader disassembly.\r
- /// </summary>\r
- [System::Flags]\r
- public enum class DisassemblyFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// No specific flags specified.\r
- /// </summary>\r
- None = 0,\r
-\r
- /// <summary>\r
- /// Enable the output of color codes.\r
- /// </summary>\r
- EnableColorCodes = D3D_DISASM_ENABLE_COLOR_CODE,\r
-\r
- /// <summary>\r
- /// Enable the output of default values.\r
- /// </summary>\r
- EnableDefaultValues = D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS,\r
-\r
- /// <summary>\r
- /// Enable instruction numbering.\r
- /// </summary>\r
- EnableInstructionNumbering = D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING\r
- };\r
-\r
- /// <summary>Specifies compile- or run-time options during effect creation.</summary>\r
- /// <unmanaged>D3D10_EFFECT</unmanaged>\r
- [System::Flags]\r
- public enum class EffectFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Standard compile- and run-time behavior.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Compile the .fx file to a child effect. Child effects do not initialize shared values\r
- /// (as those values are instead initialized by the effect pool).\r
- /// </summary>\r
- ChildEffect = D3D10_EFFECT_COMPILE_CHILD_EFFECT,\r
- \r
- /// <summary>\r
- /// Allow mutable state objects (non-literal expressions may appear in state object definitions). This\r
- /// has a negative impact on run-time performance.\r
- /// </summary>\r
- AllowSlowOperations = D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS,\r
- \r
- /// <summary>\r
- /// Do not attempt to synchronize with other threads loading effects into the same pool.\r
- /// </summary>\r
- SingleThreaded = D3D10_EFFECT_SINGLE_THREADED,\r
- };\r
-\r
- /// <summary>\r
- /// Flags that indicate the location of an include file.\r
- /// </summary>\r
- /// <unmanaged>D3D10_INCLUDE_TYPE</unmanaged>\r
- [System::Flags]\r
- public enum class IncludeType : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates that the include is in the local path (or paths).\r
- /// </summary>\r
- Local = D3D10_INCLUDE_LOCAL,\r
- \r
- /// <summary>\r
- /// Indicates that the include is in the system path (or paths).\r
- /// </summary>\r
- System = D3D10_INCLUDE_SYSTEM\r
- };\r
-\r
- /// <summary>\r
- /// Indicates how the pipeline interprets geometry or hull shader input primitives.\r
- /// </summary>\r
- /// <unmanaged>D3D11_PRIMITIVE</unmanaged>\r
- public enum class InputPrimitive : System::Int32\r
- {\r
- /// <summary>\r
- /// The shader has not been initialized with an input primitive type.\r
- /// </summary>\r
- Undefined = D3D11_PRIMITIVE_UNDEFINED,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a point.\r
- /// </summary>\r
- Point = D3D11_PRIMITIVE_POINT,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a line.\r
- /// </summary>\r
- Line = D3D11_PRIMITIVE_LINE,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a triangle.\r
- /// </summary>\r
- Triangle = D3D11_PRIMITIVE_TRIANGLE,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a line with adjacency data.\r
- /// </summary>\r
- LineWithAdjacency = D3D11_PRIMITIVE_LINE_ADJ,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a triangle with adjacency data.\r
- /// </summary>\r
- TriangleWithAdjacency = D3D11_PRIMITIVE_TRIANGLE_ADJ,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with one control point.\r
- /// </summary>\r
- PatchWith1ControlPoint = D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with two control points.\r
- /// </summary>\r
- PatchWith2ControlPoints = D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with three control points.\r
- /// </summary>\r
- PatchWith3ControlPoints = D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with four control points.\r
- /// </summary>\r
- PatchWith4ControlPoints = D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with five control points.\r
- /// </summary>\r
- PatchWith5ControlPoints = D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with six control points.\r
- /// </summary>\r
- PatchWith6ControlPoints = D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with seven control points.\r
- /// </summary>\r
- PatchWith7ControlPoints = D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with eight control points.\r
- /// </summary>\r
- PatchWith8ControlPoints = D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with nine control points.\r
- /// </summary>\r
- PatchWith9ControlPoints = D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with ten control points.\r
- /// </summary>\r
- PatchWith10ControlPoints = D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 11 control points.\r
- /// </summary>\r
- PatchWith11ControlPoints = D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 12 control points.\r
- /// </summary>\r
- PatchWith12ControlPoints = D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 13 control points.\r
- /// </summary>\r
- PatchWith13ControlPoints = D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 14 control points.\r
- /// </summary>\r
- PatchWith14ControlPoints = D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 15 control points.\r
- /// </summary>\r
- PatchWith15ControlPoints = D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 16 control points.\r
- /// </summary>\r
- PatchWith16ControlPoints = D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 17 control points.\r
- /// </summary>\r
- PatchWith17ControlPoints = D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 18 control points.\r
- /// </summary>\r
- PatchWith18ControlPoints = D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 19 control points.\r
- /// </summary>\r
- PatchWith19ControlPoints = D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 20 control points.\r
- /// </summary>\r
- PatchWith20ControlPoints = D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 21 control points.\r
- /// </summary>\r
- PatchWith21ControlPoints = D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 22 control points.\r
- /// </summary>\r
- PatchWith22ControlPoints = D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 23 control points.\r
- /// </summary>\r
- PatchWith23ControlPoints = D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 24 control points.\r
- /// </summary>\r
- PatchWith24ControlPoints = D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 25 control points.\r
- /// </summary>\r
- PatchWith25ControlPoints = D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 26 control points.\r
- /// </summary>\r
- PatchWith26ControlPoints = D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 27 control points.\r
- /// </summary>\r
- PatchWith27ControlPoints = D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 28 control points.\r
- /// </summary>\r
- PatchWith28ControlPoints = D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 29 control points.\r
- /// </summary>\r
- PatchWith29ControlPoints = D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 30 control points.\r
- /// </summary>\r
- PatchWith30ControlPoints = D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 31 control points.\r
- /// </summary>\r
- PatchWith31ControlPoints = D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH,\r
-\r
- /// <summary>\r
- /// Interpret the input primitive as a control point patch with 32 control points.\r
- /// </summary>\r
- PatchWith32ControlPoints = D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH\r
- };\r
-\r
- /// <summary>\r
- /// Flags that indicate which components of a value are valid.\r
- /// </summary>\r
- [System::Flags]\r
- public enum class RegisterComponentMaskFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates that no components are valid.\r
- /// </summary>\r
- None = 0,\r
- \r
- /// <summary>\r
- /// Indicates that the X (or R) component is valid.\r
- /// </summary>\r
- ComponentX = 1,\r
- \r
- /// <summary>\r
- /// Indicates that the Y (or G) component is valid.\r
- /// </summary>\r
- ComponentY = 2,\r
- \r
- /// <summary>\r
- /// Indicates that the Z (or B) component is valid.\r
- /// </summary>\r
- ComponentZ = 4,\r
- \r
- /// <summary>\r
- /// Indicates that the W (or A) component is valid.\r
- /// </summary>\r
- ComponentW = 8,\r
- \r
- /// <summary>\r
- /// Indicates that all components are valid.\r
- /// </summary>\r
- All = ComponentX | ComponentY | ComponentZ | ComponentW\r
- };\r
- \r
- /// <summary>Defines possible register component types.</summary>\r
- /// <unmanaged>D3D10_REGISTER_COMPONENT_TYPE</unmanaged>\r
- public enum class RegisterComponentType : System::Int32\r
- {\r
- /// <summary>\r
- /// Unknown data type.\r
- /// </summary>\r
- Unknown = D3D10_REGISTER_COMPONENT_UNKNOWN,\r
-\r
- /// <summary>\r
- /// 32-bit unsigned integer.\r
- /// </summary>\r
- UInt32 = D3D10_REGISTER_COMPONENT_UINT32,\r
-\r
- /// <summary>\r
- /// 32-bit signed integer.\r
- /// </summary>\r
- SInt32 = D3D10_REGISTER_COMPONENT_SINT32,\r
-\r
- /// <summary>\r
- /// 32-bit floating-point number.\r
- /// </summary>\r
- Float32 = D3D10_REGISTER_COMPONENT_FLOAT32\r
- };\r
-\r
- /// <summary>\r
- /// Indicates return value types.\r
- /// </summary>\r
- /// <unmanaged>D3D11_RESOURCE_RETURN_TYPE</unmanaged>\r
- public enum class ResourceReturnType : System::Int32\r
- {\r
- /// <summary>\r
- /// Return type of unsigned normalized integer.\r
- /// </summary>\r
- UNorm = D3D11_RETURN_TYPE_UNORM,\r
-\r
- /// <summary>\r
- /// Return type of signed normalized integer.\r
- /// </summary>\r
- SNorm = D3D11_RETURN_TYPE_SNORM,\r
-\r
- /// <summary>\r
- /// Return type of signed integer.\r
- /// </summary>\r
- SInt = D3D11_RETURN_TYPE_SINT,\r
-\r
- /// <summary>\r
- /// Return type of unsigned integer.\r
- /// </summary>\r
- UInt = D3D11_RETURN_TYPE_UINT,\r
-\r
- /// <summary>\r
- /// Return type of single precision floating point value.\r
- /// </summary>\r
- Float = D3D11_RETURN_TYPE_FLOAT,\r
-\r
- /// <summary>\r
- /// Return type is unknown.\r
- /// </summary>\r
- Mixed = D3D11_RETURN_TYPE_MIXED,\r
-\r
- /// <summary>\r
- /// Return type of double precision floating point value.\r
- /// </summary>\r
- Double = D3D11_RETURN_TYPE_DOUBLE,\r
-\r
- /// <summary>\r
- /// Return type is a multiple-dword type, such as a double or uint64, and the component is continued from the\r
- /// previous component that was declared. The first component represents the lower bits. \r
- /// </summary>\r
- Continued = D3D11_RETURN_TYPE_CONTINUED\r
- };\r
-\r
- /// <summary>Provides various shader compilation flags.</summary>\r
- /// <unmanaged>D3D10_SHADER</unmanaged>\r
- [System::Flags]\r
- public enum class ShaderFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// No specific compilation options.\r
- /// </summary>\r
- None = 0,\r
-\r
- /// <summary>\r
- /// Insert debug file/line/type/symbol information into the resulting shader.\r
- /// </summary>\r
- Debug = D3D10_SHADER_DEBUG,\r
-\r
- /// <summary>\r
- /// Do not validate the generated code against known capabilities and constraints. Only use this with shaders that have been successfully\r
- /// compiled in the past. Shaders are always validated by DirectX before they are set to the device.\r
- /// </summary>\r
- SkipValidation = D3D10_SHADER_SKIP_VALIDATION,\r
-\r
- /// <summary>\r
- /// Skip optimization during code generation; generally recommended for debug only.\r
- /// </summary>\r
- SkipOptimization = D3D10_SHADER_SKIP_OPTIMIZATION,\r
-\r
- /// <summary>\r
- /// Unless explicitly specified, matrices will be packed in row-major order on input and output from the shader.\r
- /// </summary>\r
- PackMatrixRowMajor = D3D10_SHADER_PACK_MATRIX_ROW_MAJOR,\r
- \r
- /// <summary>\r
- /// Unless explicitly specified, matrices will be packed in column-major order on input and output from the shader. This is generally\r
- /// more efficient, since it allows vector-matrix multiplication to be performed using a series of dot-products.\r
- /// </summary>\r
- PackMatrixColumnMajor = D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR,\r
- \r
- /// <summary>\r
- /// Force all computations to be done with partial precision; this may run faster on some hardware.\r
- /// </summary>\r
- PartialPrecision = D3D10_SHADER_PARTIAL_PRECISION,\r
-\r
- /// <summary>\r
- /// Compile a vertex shader for the next highest shader profile. This option turns debugging on (and optimizations off).\r
- /// </summary>\r
- ForceSoftwareVertexShader = D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT,\r
- \r
- /// <summary>\r
- /// Compile a pixel shader for the next highest shader profile. This option turns debugging on (and optimizations off).\r
- /// </summary>\r
- ForceSoftwarePixelShader = D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT,\r
- \r
- /// <summary>\r
- /// Disables Preshaders. Using this flag will cause the compiler to not pull out static expression for evaluation.\r
- /// </summary>\r
- NoPreshader = D3D10_SHADER_NO_PRESHADER,\r
- \r
- /// <summary>\r
- /// Tells the compiler to not allow flow-control (when possible).\r
- /// </summary>\r
- AvoidFlowControl = D3D10_SHADER_AVOID_FLOW_CONTROL,\r
- \r
- /// <summary>\r
- /// Tells the compiler to use flow-control (when possible).\r
- /// </summary>\r
- PreferFlowControl = D3D10_SHADER_PREFER_FLOW_CONTROL,\r
- \r
- /// <summary>\r
- /// By default, the HLSL compiler disables strictness on deprecated syntax. Specifying this flag enables strictness which may not allow for legacy syntax.\r
- /// </summary>\r
- EnableStrictness = D3D10_SHADER_ENABLE_STRICTNESS,\r
- \r
- /// <summary>\r
- /// This enables older shaders to compile to 4_0 targets.\r
- /// </summary>\r
- EnableBackwardsCompatibility = D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY,\r
- \r
- /// <summary>\r
- /// Enables IEEE floating point strictness.\r
- /// </summary>\r
- EnableIEEEStrictness = D3D10_SHADER_IEEE_STRICTNESS,\r
- \r
- /// <summary>\r
- /// Lowest optimization level. May produce slower code but will do so more quickly. This may be useful in a highly iterative shader development cycle.\r
- /// </summary>\r
- OptimizationLevel0 = D3D10_SHADER_OPTIMIZATION_LEVEL0,\r
- \r
- /// <summary>\r
- /// Second lowest optimization level.\r
- /// </summary>\r
- OptimizationLevel1 = D3D10_SHADER_OPTIMIZATION_LEVEL1,\r
- \r
- /// <summary>\r
- /// Second highest optimization level.\r
- /// </summary>\r
- OptimizationLevel2 = D3D10_SHADER_OPTIMIZATION_LEVEL2,\r
- \r
- /// <summary>\r
- /// Highest optimization level. Will produce best possible code but may take significantly longer to do so. This will be useful for\r
- /// final builds of an application where performance is the most important factor.\r
- /// </summary>\r
- OptimizationLevel3 = D3D10_SHADER_OPTIMIZATION_LEVEL3,\r
-\r
- /// <summary>\r
- /// Inform the HLSL compiler to treat all warnings as errors when compiling the shader code. For new shader code, you should use this\r
- /// option so you can resolve all warnings and ensure the fewest possible hard-to-find code defects.\r
- /// </summary>\r
- WarningsAreErrors = D3D10_SHADER_WARNINGS_ARE_ERRORS\r
- };\r
-\r
- /// <summary>\r
- /// Identifies shader input options.\r
- /// </summary>\r
- /// <unmanaged>D3D10_SHADER_INPUT_FLAGS</unmanaged>\r
- [System::Flags]\r
- public enum class ShaderInputFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Assign a shader input to a register based on the register assignment in the HLSL code (instead of letting the compiler choose the register).\r
- /// </summary>\r
- UserPacked = D3D10_SIF_USERPACKED,\r
-\r
- /// <summary>\r
- /// Use a comparison sampler, which uses the SampleCmp and SampleCmpLevelZero sampling functions.\r
- /// </summary>\r
- ComparisonSampler = D3D10_SIF_COMPARISON_SAMPLER,\r
-\r
- /// <summary>\r
- /// A 2-bit value for encoding texture components.\r
- /// </summary>\r
- TextureComponent0 = D3D10_SIF_TEXTURE_COMPONENT_0,\r
-\r
- /// <summary>\r
- /// A 2-bit value for encoding texture components.\r
- /// </summary>\r
- TextureComponent1 = D3D10_SIF_TEXTURE_COMPONENT_1,\r
-\r
- /// <summary>\r
- /// A 2-bit value for encoding texture components.\r
- /// </summary>\r
- TextureComponents = D3D10_SIF_TEXTURE_COMPONENTS\r
- };\r
-\r
- /// <summary>\r
- /// Identifies shader resource types.\r
- /// </summary>\r
- /// <unmanaged>D3D10_SHADER_INPUT_TYPE</unmanaged>\r
- public enum class ShaderInputType : System::Int32\r
- {\r
- /// <summary>\r
- /// The shader resource is a constant buffer.\r
- /// </summary>\r
- ConstantBuffer = D3D10_SIT_CBUFFER,\r
-\r
- /// <summary>\r
- /// The shader resource is a texture buffer.\r
- /// </summary>\r
- TextureBuffer = D3D10_SIT_TBUFFER,\r
-\r
- /// <summary>\r
- /// The shader resource is a texture.\r
- /// </summary>\r
- Texture = D3D10_SIT_TEXTURE,\r
-\r
- /// <summary>\r
- /// The shader resource is a sampler.\r
- /// </summary>\r
- Sampler = D3D10_SIT_SAMPLER,\r
-\r
- /// <summary>\r
- /// The shader resource is a structure buffer.\r
- /// </summary>\r
- Structured = D3D11_SIT_STRUCTURED,\r
-\r
- /// <summary>\r
- /// The shader resource is a read and write structured buffer.\r
- /// </summary>\r
- RWStructured = D3D11_SIT_UAV_RWSTRUCTURED,\r
-\r
- /// <summary>\r
- /// The shader resource is a byte-address buffer.\r
- /// </summary>\r
- ByteAddress = D3D11_SIT_BYTEADDRESS,\r
-\r
- /// <summary>\r
- /// The shader resource is a read and write byte-address buffer.\r
- /// </summary>\r
- RWByteAddress = D3D11_SIT_UAV_RWBYTEADDRESS,\r
-\r
- /// <summary>\r
- /// The shader resource is an append-structured buffer.\r
- /// </summary>\r
- AppendStructured = D3D11_SIT_UAV_APPEND_STRUCTURED,\r
-\r
- /// <summary>\r
- /// The shader resource is a consume-structured buffer.\r
- /// </summary>\r
- ConsumeStructured = D3D11_SIT_UAV_CONSUME_STRUCTURED,\r
-\r
- /// <summary>\r
- /// The shader resource is a read and write structured buffer that uses the built-in counter to append or consume.\r
- /// </summary>\r
- RWStructuredWithCounter = D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER\r
- };\r
-\r
- /// <summary>\r
- /// Identifies shader variable classes.\r
- /// </summary>\r
- /// <unmanaged>D3D10_SHADER_VARIABLE_CLASS</unmanaged>\r
- public enum class ShaderVariableClass : System::Int32\r
- {\r
- /// <summary>\r
- /// The shader variable is a scalar.\r
- /// </summary>\r
- Scalar = D3D10_SVC_SCALAR,\r
-\r
- /// <summary>\r
- /// The shader variable is a vector.\r
- /// </summary>\r
- Vector = D3D10_SVC_VECTOR,\r
-\r
- /// <summary>\r
- /// The shader variable is a row-major matrix.\r
- /// </summary>\r
- MatrixRows = D3D10_SVC_MATRIX_ROWS,\r
-\r
- /// <summary>\r
- /// The shader variable is a column-major matrix.\r
- /// </summary>\r
- MatrixColumns = D3D10_SVC_MATRIX_COLUMNS,\r
-\r
- /// <summary>\r
- /// The shader variable is an object.\r
- /// </summary>\r
- Object = D3D10_SVC_OBJECT,\r
-\r
- /// <summary>\r
- /// The shader variable is a structure.\r
- /// </summary>\r
- Struct = D3D10_SVC_STRUCT,\r
-\r
- /// <summary>\r
- /// The shader variable is a class.\r
- /// </summary>\r
- InterfaceClass = D3D11_SVC_INTERFACE_CLASS,\r
-\r
- /// <summary>\r
- /// The shader variable is an interface pointer.\r
- /// </summary>\r
- InterfacePointer = D3D11_SVC_INTERFACE_POINTER,\r
- };\r
-\r
- /// <summary>\r
- /// Indicates additional information about a shader variable.\r
- /// </summary>\r
- /// <unmanaged>D3D10_SHADER_VARIABLE_FLAGS</unmanaged>\r
- [System::Flags]\r
- public enum class ShaderVariableFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).\r
- /// </summary>\r
- UserPacked = D3D10_SVF_USERPACKED,\r
-\r
- /// <summary>\r
- /// Indicates that this variable is used by this shader. This value confirms that a particular shader variable\r
- /// (which can be common to many different shaders) is indeed used by a particular shader. \r
- /// </summary>\r
- Used = D3D10_SVF_USED\r
- };\r
-\r
- /// <summary>\r
- /// Identifies possible shader variable types.\r
- /// </summary>\r
- /// <unmanaged>D3D10_SHADER_VARIABLE_TYPE</unmanaged>\r
- public enum class ShaderVariableType : System::Int32\r
- {\r
- /// <summary>\r
- /// The variable is a void pointer.\r
- /// </summary>\r
- Void = D3D10_SVT_VOID,\r
-\r
- /// <summary>\r
- /// The variable is a boolean.\r
- /// </summary>\r
- Bool = D3D10_SVT_BOOL,\r
-\r
- /// <summary>\r
- /// The variable is an integer.\r
- /// </summary>\r
- Int = D3D10_SVT_INT,\r
-\r
- /// <summary>\r
- /// The variable is a floating-point number.\r
- /// </summary>\r
- Float = D3D10_SVT_FLOAT,\r
-\r
- /// <summary>\r
- /// The variable is a string.\r
- /// </summary>\r
- String = D3D10_SVT_STRING,\r
-\r
- /// <summary>\r
- /// The variable is a texture.\r
- /// </summary>\r
- Texture = D3D10_SVT_TEXTURE,\r
-\r
- /// <summary>\r
- /// The variable is a 1D texture.\r
- /// </summary>\r
- Texture1D = D3D10_SVT_TEXTURE1D,\r
-\r
- /// <summary>\r
- /// The variable is a 2D texture.\r
- /// </summary>\r
- Texture2D = D3D10_SVT_TEXTURE2D,\r
-\r
- /// <summary>\r
- /// The variable is a 3D texture.\r
- /// </summary>\r
- Texture3D = D3D10_SVT_TEXTURE3D,\r
-\r
- /// <summary>\r
- /// The variable is a texture cube.\r
- /// </summary>\r
- TextureCube = D3D10_SVT_TEXTURECUBE,\r
-\r
- /// <summary>\r
- /// The variable is a sampler.\r
- /// </summary>\r
- Sampler = D3D10_SVT_SAMPLER,\r
-\r
- /// <summary>\r
- /// The variable is a pixel shader.\r
- /// </summary>\r
- PixelShader = D3D10_SVT_PIXELSHADER,\r
-\r
- /// <summary>\r
- /// The variable is a vertex shader.\r
- /// </summary>\r
- VertexShader = D3D10_SVT_VERTEXSHADER,\r
-\r
- /// <summary>\r
- /// The variable is an unsigned integer.\r
- /// </summary>\r
- UInt = D3D10_SVT_UINT,\r
-\r
- /// <summary>\r
- /// The variable is an 8-bit unsigned integer.\r
- /// </summary>\r
- UInt8 = D3D10_SVT_UINT8,\r
-\r
- /// <summary>\r
- /// The variable is a geometry shader.\r
- /// </summary>\r
- GeometryShader = D3D10_SVT_GEOMETRYSHADER,\r
-\r
- /// <summary>\r
- /// The variable is a rasterizer-state object.\r
- /// </summary>\r
- Rasterizer = D3D10_SVT_RASTERIZER,\r
-\r
- /// <summary>\r
- /// The variable is a depth-stencil-state object.\r
- /// </summary>\r
- DepthStencil = D3D10_SVT_DEPTHSTENCIL,\r
-\r
- /// <summary>\r
- /// The variable is a blend-state object.\r
- /// </summary>\r
- Blend = D3D10_SVT_BLEND,\r
-\r
- /// <summary>\r
- /// The variable is a buffer.\r
- /// </summary>\r
- Buffer = D3D10_SVT_BUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a constant buffer.\r
- /// </summary>\r
- CBuffer = D3D10_SVT_CBUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a texture buffer.\r
- /// </summary>\r
- TBuffer = D3D10_SVT_TBUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a 1D-texture array.\r
- /// </summary>\r
- Texture1DArray = D3D10_SVT_TEXTURE1DARRAY,\r
-\r
- /// <summary>\r
- /// The variable is a 2D-texture array.\r
- /// </summary>\r
- Texture2DArray = D3D10_SVT_TEXTURE2DARRAY,\r
-\r
- /// <summary>\r
- /// The variable is a render-target view.\r
- /// </summary>\r
- RenderTargetView = D3D10_SVT_RENDERTARGETVIEW,\r
-\r
- /// <summary>\r
- /// The variable is a depth-stencil view.\r
- /// </summary>\r
- DepthStencilView = D3D10_SVT_DEPTHSTENCILVIEW,\r
-\r
- /// <summary>\r
- /// The variable is a 2D-multisampled texture.\r
- /// </summary>\r
- Texture2DMS = D3D10_SVT_TEXTURE2DMS,\r
-\r
- /// <summary>\r
- /// The variable is a 2D-multisampled-texture array.\r
- /// </summary>\r
- Texture2DMSArray = D3D10_SVT_TEXTURE2DMSARRAY,\r
-\r
- /// <summary>\r
- /// The variable is a texture-cube array.\r
- /// </summary>\r
- TextureCubeArray = D3D10_SVT_TEXTURECUBEARRAY,\r
-\r
- /// <summary>\r
- /// The variable holds a compiled hull-shader binary.\r
- /// </summary>\r
- HullShader = D3D11_SVT_HULLSHADER,\r
-\r
- /// <summary>\r
- /// The variable holds a compiled domain-shader binary.\r
- /// </summary>\r
- DomainShader = D3D11_SVT_DOMAINSHADER,\r
-\r
- /// <summary>\r
- /// The variable is an interface.\r
- /// </summary>\r
- InterfacePointer = D3D11_SVT_INTERFACE_POINTER,\r
-\r
- /// <summary>\r
- /// The variable holds a compiled compute-shader binary.\r
- /// </summary>\r
- ComputeShader = D3D11_SVT_COMPUTESHADER,\r
-\r
- /// <summary>\r
- /// The variable is a double precision (64-bit) floating-point number.\r
- /// </summary>\r
- Double = D3D11_SVT_DOUBLE,\r
-\r
- /// <summary>\r
- /// The variable is a 1D read and write texture.\r
- /// </summary>\r
- RWTexture1D = D3D11_SVT_RWTEXTURE1D,\r
-\r
- /// <summary>\r
- /// The variable is an array of 1D read and write textures.\r
- /// </summary>\r
- RWTexture1DArray = D3D11_SVT_RWTEXTURE1DARRAY,\r
-\r
- /// <summary>\r
- /// The variable is a 2D read and write texture.\r
- /// </summary>\r
- RWTexture2D = D3D11_SVT_RWTEXTURE2D,\r
-\r
- /// <summary>\r
- /// The variable is an array of 2D read and write textures.\r
- /// </summary>\r
- RWTexture2DArray = D3D11_SVT_RWTEXTURE2DARRAY,\r
-\r
- /// <summary>\r
- /// he variable is a 3D read and write texture.\r
- /// </summary>\r
- RWTexture3D = D3D11_SVT_RWTEXTURE3D,\r
-\r
- /// <summary>\r
- /// The variable is a read and write buffer.\r
- /// </summary>\r
- RWBuffer = D3D11_SVT_RWBUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a byte-address buffer.\r
- /// </summary>\r
- ByteAddressBuffer = D3D11_SVT_BYTEADDRESS_BUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a read and write byte-address buffer.\r
- /// </summary>\r
- RWByteAddressBuffer = D3D11_SVT_RWBYTEADDRESS_BUFFER,\r
-\r
- /// <summary>\r
- /// he variable is a structured buffer. \r
- /// </summary>\r
- StructuredBuffer = D3D11_SVT_STRUCTURED_BUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a read and write structured buffer.\r
- /// </summary>\r
- RWStructuredBuffer = D3D11_SVT_RWSTRUCTURED_BUFFER,\r
-\r
- /// <summary>\r
- /// The variable is an append structured buffer.\r
- /// </summary>\r
- AppendStructuredBuffer = D3D11_SVT_APPEND_STRUCTURED_BUFFER,\r
-\r
- /// <summary>\r
- /// The variable is a consume structured buffer.\r
- /// </summary>\r
- ConsumeStructuredBuffer = D3D11_SVT_CONSUME_STRUCTURED_BUFFER\r
- };\r
-\r
- /// <summary>\r
- /// Indicates possible shader types.\r
- /// </summary>\r
- /// <unmanaged>D3D11_SHADER_VERSION_TYPE</unmanaged>\r
- public enum class ShaderVersion : System::Int32\r
- {\r
- /// <summary>\r
- /// A pixel shader.\r
- /// </summary>\r
- PixelShader = D3D11_SHVER_PIXEL_SHADER,\r
-\r
- /// <summary>\r
- /// A vertex shader.\r
- /// </summary>\r
- VertexShader = D3D11_SHVER_VERTEX_SHADER,\r
-\r
- /// <summary>\r
- /// A geometry shader.\r
- /// </summary>\r
- GeometryShader = D3D11_SHVER_GEOMETRY_SHADER,\r
-\r
- /// <summary>\r
- /// A hull shader.\r
- /// </summary>\r
- HullShader = D3D11_SHVER_HULL_SHADER,\r
-\r
- /// <summary>\r
- /// A domain shader.\r
- /// </summary>\r
- DomainShader = D3D11_SHVER_DOMAIN_SHADER,\r
-\r
- /// <summary>\r
- /// A compute shader.\r
- /// </summary>\r
- ComputeShader = D3D11_SHVER_COMPUTE_SHADER\r
- };\r
-\r
- /// <summary>\r
- /// Specifies options for stripping data from a shader or effect.\r
- /// </summary>\r
- /// <unmanaged>D3DCOMPILER_STRIP_FLAGS</unmanaged>\r
- [System::Flags]\r
- public enum class StripFlags : System::Int32\r
- {\r
- /// <summary>\r
- /// No extra stripping options.\r
- /// </summary>\r
- None = 0,\r
-\r
- /// <summary>\r
- /// Remove reflection data.\r
- /// </summary>\r
- StripReflectionData = D3DCOMPILER_STRIP_REFLECTION_DATA,\r
-\r
- /// <summary>\r
- /// Remove debug information.\r
- /// </summary>\r
- StripDebugInformation = D3DCOMPILER_STRIP_DEBUG_INFO,\r
-\r
- /// <summary>\r
- /// Remove test blob data.\r
- /// </summary>\r
- StripTestBlobs = D3DCOMPILER_STRIP_TEST_BLOBS\r
- };\r
-\r
- /// <summary>Identifies shader parameters that use system-value semantics.</summary>\r
- /// <unmanaged>D3D10_NAME</unmanaged>\r
- public enum class SystemValueType : System::Int32\r
- {\r
- /// <summary>\r
- /// This parameter does not use a predefined system-value semantic.\r
- /// </summary>\r
- Undefined = D3D10_NAME_UNDEFINED,\r
-\r
- /// <summary>\r
- /// This parameter contains position data.\r
- /// </summary>\r
- Position = D3D10_NAME_POSITION,\r
-\r
- /// <summary>\r
- /// This parameter contains clip-distance data.\r
- /// </summary>\r
- ClipDistance = D3D10_NAME_CLIP_DISTANCE,\r
-\r
- /// <summary>\r
- /// This parameter contains cull distance data.\r
- /// </summary>\r
- CullDistance = D3D10_NAME_CULL_DISTANCE,\r
-\r
- /// <summary>\r
- /// This parameter contains a render-target-array index.\r
- /// </summary>\r
- RenderTargetArrayIndex = D3D10_NAME_RENDER_TARGET_ARRAY_INDEX,\r
-\r
- /// <summary>\r
- /// This parameter contains a viewport-array index.\r
- /// </summary>\r
- ViewportArrayIndex = D3D10_NAME_VIEWPORT_ARRAY_INDEX,\r
-\r
- /// <summary>\r
- /// This parameter contains a vertex ID.\r
- /// </summary>\r
- VertexId = D3D10_NAME_VERTEX_ID,\r
-\r
- /// <summary>\r
- /// This parameter contains a primitive ID.\r
- /// </summary>\r
- PrimitiveId = D3D10_NAME_PRIMITIVE_ID,\r
-\r
- /// <summary>\r
- /// This parameter contains a instance ID.\r
- /// </summary>\r
- InstanceId = D3D10_NAME_INSTANCE_ID,\r
-\r
- /// <summary>\r
- /// This parameter contains data that identifies whether or not the primitive faces the camera.\r
- /// </summary>\r
- FrontFaceFlag = D3D10_NAME_IS_FRONT_FACE,\r
-\r
- /// <summary>\r
- /// This parameter contains a sampler-array index.\r
- /// </summary>\r
- SampleIndex = D3D10_NAME_SAMPLE_INDEX,\r
-\r
- /// <summary>\r
- /// This parameter contains render-target data.\r
- /// </summary>\r
- Target = D3D10_NAME_TARGET,\r
-\r
- /// <summary>\r
- /// This parameter contains depth data.\r
- /// </summary>\r
- Depth = D3D10_NAME_DEPTH,\r
-\r
- /// <summary>\r
- /// This parameter contains alpha-coverage data.\r
- /// </summary>\r
- Coverage = D3D10_NAME_COVERAGE,\r
-\r
- /// <summary>\r
- /// This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.\r
- /// </summary>\r
- DepthGreaterEqual = D3D11_NAME_DEPTH_GREATER_EQUAL,\r
-\r
- /// <summary>\r
- /// This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.\r
- /// </summary>\r
- DepthLessEqual = D3D11_NAME_DEPTH_LESS_EQUAL,\r
-\r
- /// <summary>\r
- /// his parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along\r
- /// the given edge. This flag is used to tessellate a quad patch.\r
- /// </summary>\r
- FinalQuadEdgeTessellationFactor = D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR,\r
-\r
- /// <summary>\r
- /// This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically\r
- /// and horizontally within the patch. This flag is used to tessellate a quad patch.\r
- /// </summary>\r
- FinalQuadInsideTessellationFactor = D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,\r
-\r
- /// <summary>\r
- /// This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into\r
- /// along the given edge. This flag is used to tessellate a tri patch.\r
- /// </summary>\r
- FinalTriangleEdgeTessellationFactor = D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR,\r
-\r
- /// <summary>\r
- /// This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch.\r
- /// This flag is used to tessellate a tri patch.\r
- /// </summary>\r
- FinalTriangleInsideTessellationFactor = D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR,\r
-\r
- /// <summary>\r
- /// This parameter contains the tessellation factor that corresponds to the amount of lines broken into within the patch. This flag is used to tessellate an isolines patch.\r
- /// </summary>\r
- FinalLineDetailTessellationFactor = D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR,\r
-\r
- /// <summary>\r
- /// This parameter contains the tessellation factor that corresponds to the amount of lines that are created within the patch. This flag is used to tessellate an isolines patch.\r
- /// </summary>\r
- FinalLineDensityTessellationFactor = D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR\r
- };\r
-\r
- /// <summary>\r
- /// Specifies domain options for tessellator data.\r
- /// </summary>\r
- /// <unmanaged>D3D11_TESSELLATOR_DOMAIN</unmanaged>\r
- public enum class TessellatorDomain : System::Int32\r
- {\r
- /// <summary>\r
- /// The data type is undefined.\r
- /// </summary>\r
- Undefined = D3D11_TESSELLATOR_DOMAIN_UNDEFINED,\r
-\r
- /// <summary>\r
- /// Isoline data.\r
- /// </summary>\r
- Isoline = D3D11_TESSELLATOR_DOMAIN_ISOLINE,\r
-\r
- /// <summary>\r
- /// Triangle data.\r
- /// </summary>\r
- Triangle = D3D11_TESSELLATOR_DOMAIN_TRI,\r
-\r
- /// <summary>\r
- /// Quad data.\r
- /// </summary>\r
- Quad = D3D11_TESSELLATOR_DOMAIN_QUAD\r
- };\r
-\r
- /// <summary>\r
- /// Specifies output primitive types for the tessellator.\r
- /// </summary>\r
- /// <unmanaged>D3D11_TESSELLATOR_OUTPUT_PRIMITIVE</unmanaged>\r
- public enum class TessellatorOutputPrimitive : System::Int32\r
- {\r
- /// <summary>\r
- /// The output primitive type is undefined.\r
- /// </summary>\r
- Undefined = D3D11_TESSELLATOR_OUTPUT_UNDEFINED,\r
-\r
- /// <summary>\r
- /// The output primitive type a point.\r
- /// </summary>\r
- Point = D3D11_TESSELLATOR_OUTPUT_POINT,\r
-\r
- /// <summary>\r
- /// The output primitive type is a line.\r
- /// </summary>\r
- Line = D3D11_TESSELLATOR_OUTPUT_LINE,\r
-\r
- /// <summary>\r
- /// The output primitive type is a clockwise triangle.\r
- /// </summary>\r
- TriangleClockwise = D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW,\r
-\r
- /// <summary>\r
- /// The output primitive type is a counter clockwise triangle.\r
- /// </summary>\r
- TriangleCounterclockwise = D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW\r
- };\r
-\r
- /// <summary>\r
- /// Specifies tessellator partitioning options.\r
- /// </summary>\r
- /// <unmanaged>D3D11_TESSELLATOR_PARTITIONING</unmanaged>\r
- public enum class TessellatorPartitioning : System::Int32\r
- {\r
- /// <summary>\r
- /// The partitioning type is undefined.\r
- /// </summary>\r
- Undefined = D3D11_TESSELLATOR_PARTITIONING_UNDEFINED,\r
-\r
- /// <summary>\r
- /// Partition with integers only.\r
- /// </summary>\r
- Integer = D3D11_TESSELLATOR_PARTITIONING_INTEGER,\r
-\r
- /// <summary>\r
- /// Partition with a power-of-two number only.\r
- /// </summary>\r
- PowerOfTwo = D3D11_TESSELLATOR_PARTITIONING_POW2,\r
-\r
- /// <summary>\r
- /// Partition with an odd, fractional number.\r
- /// </summary>\r
- FractionalOdd = D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,\r
-\r
- /// <summary>\r
- /// Partition with an even, fractional number.\r
- /// </summary>\r
- FractionalEven = D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN\r
- };\r
- }\r
-}
\ No newline at end of file