Definition ASTEnums.hpp:1557
bool operator<(const IndexedSemantic &rhs) const
String mUserDefined
Definition ASTEnums.hpp:1561
IndexedSemantic(const IndexedSemantic &)=default
Semantic mSemantic
Definition ASTEnums.hpp:1559
void resetIndex(int index)
Int32 mIndex
Definition ASTEnums.hpp:1560
IndexedSemantic()=default
bool isUserDefined() const
void makeUserDefined(const String &semanticName="")
IndexedSemantic & operator=(const IndexedSemantic &)=default
IndexedSemantic(const IndexedSemantic &rhs, Int32 index)
IndexedSemantic(const String &userDefined)
bool isSystemValue() const
IndexedSemantic(Semantic semantic, Int32 index=0)
Int32 getIndex() const
Definition ASTEnums.hpp:1598
Log base class.
Definition Log.hpp:19
ResourceType
Resource type enumeration.
Definition Reflection.hpp:116
TextureAddressMode
Texture address mode enumeration (compatible to D3D11_TEXTURE_ADDRESS_MODE).
Definition Reflection.hpp:65
ComparisonFunc
Sample comparison function enumeration (compatible to D3D11_COMPARISON_FUNC).
Definition Reflection.hpp:75
Filter
Sampler filter enumeration (compatible to D3D11_FILTER).
Definition Reflection.hpp:24
bool isShaderModel5AttributeType(const AttributeType t)
Intrinsic compareOpToIntrinsic(const BinaryOp op)
bool isShaderModel3AttributeType(const AttributeType t)
bool isIntType(const DataType t)
TypeModifier
Definition ASTEnums.hpp:471
bool isStreamBufferType(const BufferType t)
String registerTypeToString(const RegisterType t)
AttributeValue
Definition ASTEnums.hpp:948
@ OutputTopologyTriangleCCW
@ PartitioningFractionalOdd
@ OutputTopologyTriangleCW
@ PartitioningFractionalEven
DataType baseDataType(const DataType t)
bool isUIntType(const DataType t)
bool isIntegralType(const DataType t)
Reflection::Filter stringToFilter(const String &s)
bool isTextureLoadIntrinsic(const Intrinsic t)
bool isAttributeValuePartitioning(const AttributeValue t)
bool isSamplerStateType(const SamplerType t)
bool isTextureGatherIntrisic(const Intrinsic t)
Reflection::ResourceType samplerTypeToResourceType(const SamplerType t)
bool isLogicalOp(const BinaryOp o)
bool isTextureSampleIntrinsic(const Intrinsic t)
bool isRwImageBufferType(const BufferType t)
bool isLValueOp(const UnaryOp o)
bool isSingleRealType(const DataType t)
Int32 getGatherIntrinsicComponentIndex(const Intrinsic t)
UnaryOp
Definition ASTEnums.hpp:119
bool isInterlockedIntristic(const Intrinsic t)
bool isBooleanType(const DataType t)
BinaryOp stringToBinaryOp(const String &s)
Reflection::ComparisonFunc stringToCompareFunc(const String &s)
BinaryOp assignOpToBinaryOp(const AssignOp op)
ImageLayoutFormat
Definition ASTEnums.hpp:642
CtrlTransfer stringToCtrlTransfer(const String &s)
String binaryOpToString(const BinaryOp o)
BinaryOp
Definition ASTEnums.hpp:58
bool isAttributeValueTrianglePartitioning(const AttributeValue t)
String unaryOpToString(const UnaryOp o)
DataType doubleToFloatDataType(const DataType dataType)
InterpModifier
Definition ASTEnums.hpp:453
Reflection::ResourceType bufferTypeToResourceType(const BufferType t)
char registerTypeToChar(const RegisterType t)
RegisterType
Definition ASTEnums.hpp:741
bool isScalarType(const DataType t)
String dataTypeToString(const DataType t, bool useTemplateSyntax=false)
DataType vectorDataType(const DataType baseDataType, Int32 vectorSize)
bool isSamplerTypeShadow(const SamplerType t)
String semanticToString(const Semantic t)
Semantic
Definition ASTEnums.hpp:1487
String compareFuncToString(const Reflection::ComparisonFunc t)
CtrlTransfer
Definition ASTEnums.hpp:147
bool isRwBufferType(const BufferType t)
UnaryOp stringToUnaryOp(const String &s)
bool isTextureCompareIntrinsic(const Intrinsic t)
bool isMatrixType(const DataType t)
Intrinsic
Intrinsics function enumeration (currently only HLSL intrinsics).
Definition ASTEnums.hpp:980
@ GetRenderTargetSampleCount
@ DeviceMemoryBarrierWithGroupSync
@ InterlockedCompareStore
@ ProcessQuadTessFactorsMin
@ TextureQueryLodUnclamped
@ Process2DQuadTessFactorsMax
@ StreamOutputRestartStrip
@ ProcessTriTessFactorsAvg
@ TextureSampleCmpLevelZero3
@ ProcessTriTessFactorsMin
@ InterlockedCompareExchange
@ EvaluateAttributeSnapped
@ GetRenderTargetSamplePosition
@ Process2DQuadTessFactorsAvg
@ Process2DQuadTessFactorsMin
@ GroupMemoryBarrierWithGroupSync
@ ProcessQuadTessFactorsAvg
@ TextureSampleCmpLevelZero5
@ TextureSampleCmpLevelZero4
@ ProcessQuadTessFactorsMax
@ EvaluateAttributeAtCentroid
@ ProcessIsolineTessFactors
@ AllMemoryBarrierWithGroupSync
@ EvaluateAttributeAtSample
@ ProcessTriTessFactorsMax
DataType getImageLayoutFormatBaseType(const ImageLayoutFormat format)
String texAddressModeToString(const Reflection::TextureAddressMode t)
bool isSamplerTypeArray(const SamplerType t)
bool isUserSemantic(const Semantic t)
StorageClass
Definition ASTEnums.hpp:441
bool isVectorType(const DataType t)
bool isDoubleRealType(const DataType t)
bool isPatchBufferType(const BufferType t)
RegisterType charToRegisterType(char c)
bool isTextureIntrinsic(const Intrinsic t)
UniformBufferType
Definition ASTEnums.hpp:482
DataType
Definition ASTEnums.hpp:159
String filterToString(const Reflection::Filter t)
bool isTextureMsBufferType(const BufferType t)
Int32 getGatherIntrinsicOffsetParamCount(const Intrinsic t)
bool isStorageBufferType(const BufferType t)
UInt32 remainingVectorSize(UInt32 vectorSize, UInt32 alignment=16u)
bool isImageBufferType(const BufferType t)
bool isHalfRealType(const DataType t)
SamplerType samplerTypeToShadowSamplerType(const SamplerType t)
Int32 getSamplerTypeTextureDim(const SamplerType t)
DataType subscriptDataType(const DataType dataType, const String &subscript, Vector< Pair< int, int > > *indices=nullptr)
bool isAttributeValueOutputTopology(const AttributeValue t)
bool accumulateAlignedVectorSize(const DataType dataType, UInt32 &size, UInt32 &padding, UInt32 *offset=nullptr)
bool isStreamOutputIntrinsic(const Intrinsic t)
Intrinsic interlockedToImageAtomicIntrinsic(const Intrinsic t)
Returns the respecitve image atomic intrinsic for the specified interlocked intrinsic,...
ImageLayoutFormat dataTypeToImageLayoutFormat(const DataType t)
String bufferTypeToString(const BufferType t)
bool isHLSLAttributeType(const AttributeType t)
UInt32 dataTypeSize(const DataType t)
bool isBooleanOp(const BinaryOp o)
bool isImageIntrinsic(const Intrinsic t)
DataType matrixDataType(const DataType baseDataType, Int32 rows, Int32 columns)
Int32 getBufferTypeTextureDim(const BufferType t)
bool isRealType(const DataType t)
bool isTextureCompareLevelZeroIntrinsic(const Intrinsic t)
bool isExtAttributeType(const AttributeType t)
BufferType
Definition ASTEnums.hpp:492
@ ConsumeStructuredBuffer
String resourceTypeToString(const Reflection::ResourceType t)
String assignOpToString(const AssignOp o)
bool isBitwiseOp(const AssignOp o)
bool isGlobalIntrinsic(const Intrinsic t)
Reflection::ResourceType uniformBufferTypeToResourceType(const UniformBufferType t)
SamplerType textureTypeToSamplerType(const BufferType t)
Int32 vectorTypeDim(const DataType t)
Returns the dimension of the specified data type interpreted as vector type.
bool isSystemSemantic(const Semantic t)
bool isAttributeValueDomain(const AttributeValue t)
bool isCompareOp(const BinaryOp o)
PrimitiveType
Definition ASTEnums.hpp:425
AssignOp
Definition ASTEnums.hpp:24
AssignOp stringToAssignOp(const String &s)
DataType tokenToDataType(const Token &token)
Reflection::TextureAddressMode stringToTexAddressMode(const String &s)
bool isGLSLAttributeType(const AttributeType t)
Pair< int, int > matrixTypeDim(const DataType t)
Returns the dimensions MxN of the specified data type interpreted as matrix type.
bool isTextureBufferType(const BufferType t)
SamplerType
Definition ASTEnums.hpp:571
AttributeType
Definition ASTEnums.hpp:766
@ NoExpressionOptimizations
String ctrlTransformToString(const CtrlTransfer ct)
auto indices(const Container &container)
Returns an iterator that increases it's value from 0 to container.size() by 1 on each step.
Definition Iterator.hpp:354
std::pair< First, Second > Pair
Pair is a struct template that provides a way to store two heterogeneous objects as a single unit.
Definition Pair.hpp:18
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
std::int32_t Int32
Definition DataTypes.hpp:21
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
std::set< Key, Compare, ScopedAllocatorAdaptor< StdAllocator< Key, RawAllocator > > > Set
Set is an associative container that contains a sorted set of unique objects of type Key.
Definition Set.hpp:21
Definition ASTEnums.hpp:1433
bool operator<(const ArgumentList &rhs) const
Definition ASTEnums.hpp:1436
Vector< DataType > argTypes
Definition ASTEnums.hpp:1434
Definition ASTEnums.hpp:1432
Set< ArgumentList > argLists
Definition ASTEnums.hpp:1440
Definition ASTEnums.hpp:338
DataType dataTypeOut
Definition ASTEnums.hpp:350
String indicesToString() const
bool operator<(const MatrixSubscriptUsage &rhs) const
MatrixSubscriptUsage()=default
Vector< Pair< int, int > > indices
Definition ASTEnums.hpp:348
MatrixSubscriptUsage(const DataType dataTypeIn, const String &subscript)
DataType dataTypeIn
Definition ASTEnums.hpp:349