98DECLARATION_REPORT(UnknownTypeOfObjectIdentSymbolRef,
"unknown type of symbol reference to derive type denoter of object identifier '{0}'");
101DECLARATION_REPORT(MissingVarIdentSymbolRef,
"missing symbol reference to derive type denoter of variable identifier '{0}'");
102DECLARATION_REPORT(MissingFuncRefToDeriveExpressionType,
"missing function reference to derive expression type");
104 "missing reference to declaration statement to derive type denoter of variable identifier "
106DECLARATION_REPORT(MissingObjectExpressionSymbolRef,
"missing symbol reference in object expression[ '{0}']");
111DECLARATION_REPORT(OnlyBaseTypeAllowed,
"only scalar, vector, and matrix type allowed[ in {0}][, but got '{1}']");
113DECLARATION_REPORT(CantDeriveTypeOfInitializer,
"cannot derive type of initializer list without type parameter");
114DECLARATION_REPORT(CantDeriveTypeOfEmptyInitializer,
"cannot derive type of initializer list with no elements");
118DECLARATION_REPORT(ExpectedInitializerForArrayAccess,
"initializer expression expected for array access");
120 "invalid number of elements in initializer expression for type '{0}' (expected {1}, but "
123DECLARATION_REPORT(NotEnoughIndicesForInitializer,
"not enough array indices specified for initializer expression");
124DECLARATION_REPORT(ArrayIndexOutOfBounds,
"array index out of bounds[: {0} is not in range \\[0, {1})]");
142DECLARATION_REPORT(InvalidVectorDimension,
"invalid vector dimension (must be in the range \\[1, 4\\], but got {0})");
145 "invalid matrix dimension (must be in the range \\[1, 4\\] x \\[1, 4\\], but got {0} x "
147DECLARATION_REPORT(InvalidMatrixSubscriptMixture,
"invalid mixture of zero-based and one-based matrix subscripts[: '{0}']");
148DECLARATION_REPORT(InvalidCharInMatrixSubscript,
"invalid character '{0}' in [{2} ]matrix subscript: '{1}'");
150DECLARATION_REPORT(InvalidIntrinsicArgCount,
"invalid number of arguments for intrinsic[ '{0}'][ (expected {1}, but got {2})]");
159DECLARATION_REPORT(MissingRefToStructDeclaration,
"missing reference to structure declaration[ '{0}']");
163DECLARATION_REPORT(InvalidExpressionForSubTypeDen,
"invalid expression to derive sub type denoter[ for '{0}']");
177DECLARATION_REPORT(IdentAlreadyDeclared,
"identifier '{0}' already declared in this scope[; previous declaration at ({1})]");
184DECLARATION_REPORT(MissingDigitSequenceAfterExpression,
"missing digit-sequence after exponent part");
203DECLARATION_REPORT(IdentNameManglingConflict,
"identifier '{0}' conflicts with reserved name mangling prefix '{1}'");
210DECLARATION_REPORT(UnknownMatrixPackAlignment,
"unknown matrix pack alignment: \"{0}\" (must be \"row_major\" or \"column_major\")");
215DECLARATION_REPORT(WithMismatchInParamListAndBody,
"with mismatch in parameter list and body definition");
218DECLARATION_REPORT(MissingIfDirective,
"missing '#if'-directive to closing '#endif', '#else', or '#elif'");
219DECLARATION_REPORT(MissingEndIfDirective,
"missing '#endif'-directive for open '#if', '#ifdef', or '#ifndef'");
220DECLARATION_REPORT(TooManyArgsForMacro,
"too many arguments for macro \"{0}\"[ (expected {1}, but got {2})]");
221DECLARATION_REPORT(TooFewArgsForMacro,
"too few arguments for macro \"{0}\"[ (expected {1}, but got {2})]");
222DECLARATION_REPORT(ExpectedEndIfDirective,
"expected '#endif'-directive after previous '#else'[, but got '{0}']");
237 "uniform buffer declaration stack underflow");
239 "variable declaration statement stack underflow");
244DECLARATION_REPORT(UndeclaredIdent,
"undeclared identifier \"{0}\"[ in '{1}'][; did you mean \"{2}\"?]");
247DECLARATION_REPORT(MissingReferenceToStructInType,
"missing reference to structure declaration in type denoter '{0}'");
249DECLARATION_REPORT(ParameterCantBeUniformAndOut,
"type attributes 'out' and 'inout' cannot be used together with 'uniform' for a parameter");
252DECLARATION_REPORT(ConditionalExpressionNotScalar,
"conditional expression must evaluate to scalar, but got '{0}'");
255DECLARATION_REPORT(ExpectedConstFloatExpression,
"expected constant floating-point expression[ for {0}]");
257DECLARATION_REPORT(ImplicitVectorTruncation,
"implicit truncation of vector type[ in {2}][ (from {0} to {1} dimensions)]");
258DECLARATION_REPORT(CantImplicitlyConvertVectorType,
"cannot implicitly convert vector type[ in {2}][ (from {0} to {1} dimensions)]");
259DECLARATION_REPORT(OnlyNoInterpolationForInts,
"only 'nointerpolation' interpolation modifier allowed for integral types ");
298DECLARATION_REPORT(MissingSelfParamForMemberFunc,
"missing 'self'-parameter for member function[ '{0}']");
300DECLARATION_REPORT(FailedToMapClassIntrinsicOverload,
"failed to map overload of class intrinsic '{0}' for type '{1}'");
304DECLARATION_REPORT(GLSLExtensionOrVersionRequired,
"GLSL extension '{0}' or shader output version '{1}' required[ (for {2})]");
305DECLARATION_REPORT(GLSLExtensionAcquired,
"GLSL extension '{0}' acquired due to shader output version below '{1}'[ (for {2})]");
306DECLARATION_REPORT(NoGLSLExtensionVersionRegisterd,
"no GLSL version is registered for the extension '{0}'");
323DECLARATION_REPORT(FailedToMapGLSLImageDataType,
"failed to map data type to image format GLSL keyword");
333DECLARATION_REPORT(MultiUseOfVertexSemanticLocation,
"multiple usage of vertex semantic location ({0})[ (used {1} times)]");
334DECLARATION_REPORT(InvalidControlPathInUnrefFunc,
"not all control paths in unreferenced function '{0}' return a value");
335DECLARATION_REPORT(InvalidControlPathInFunc,
"not all control paths in function '{0}' return a value");
339DECLARATION_REPORT(TooManyIndicesForShaderInputParam,
"too many array indices for shader input parameter");
340DECLARATION_REPORT(InterpModNotSupportedForGLSL120,
"interpolation modifiers not supported for GLSL version 120 or below");
342DECLARATION_REPORT(NotAllStorageClassesMappedToGLSL,
"not all storage classes can be mapped to GLSL keywords");
343DECLARATION_REPORT(NotAllInterpModMappedToGLSL,
"not all interpolation modifiers can be mapped to GLSL keywords");
344DECLARATION_REPORT(CantTranslateSamplerToGLSL,
"cannot translate sampler state object to GLSL sampler");
345DECLARATION_REPORT(MissingArrayPrefixForIOSemantic,
"missing array prefix expression for input/output semantic[ '{0}']");
350DECLARATION_REPORT(MacrosWithTwoUnderscoresReserved,
"macros containing consecutive underscores '__' are reserved[: {0}]");
357DECLARATION_REPORT(NoProfileForGLSLVersionBefore150,
"versions before 150 do not allow a profile token");
358DECLARATION_REPORT(InvalidGLSLVersionProfile,
"invalid version profile '{0}' (must be 'core', 'compatibility', or 'es')");
360DECLARATION_REPORT(InvalidGLSLExtensionBehavior,
"invalid extension behavior '{0}' (must be 'enable', 'require', 'warn', or 'disable')");
364DECLARATION_REPORT(InvalidGLSLDirectiveAfterPP,
"only '#line', '#version', and '#extension' directives are allowed after pre-processing");
367DECLARATION_REPORT(OnlyFieldsAllowedInUniformBlock,
"only field declarations are allowed in a uniform block");
375DECLARATION_REPORT(FailedToDeriveIntrinsicType,
"failed to derive type denoter for intrinsic[ '{0}']");
376DECLARATION_REPORT(FailedToDeriveIntrinsicParamType,
"failed to derive parameter type denoter for intrinsic[ '{0}']");
377DECLARATION_REPORT(MissingTypeInTextureIntrinsic,
"missing buffer type in texture intrinsic[ '{0}']");
395DECLARATION_REPORT(ExpectedVarOrAssignOrFuncCall,
"expected variable declaration, assignment, or function call statement");
399DECLARATION_REPORT(UnexpectedTokenInPackMatrixPragma,
"unexpected token in '#pragma pack_matrix'-directive");
401DECLARATION_REPORT(InvalidHLSLDirectiveAfterPP,
"only '#line' and '#pragma' directives are allowed after pre-processing");
402DECLARATION_REPORT(InvalidHLSLPragmaAfterPP,
"only 'pack_matrix' pragma directive is allowed after pre-processing");
403DECLARATION_REPORT(InvalidModifierForGenericTypeDen,
"invalid modifier for generic type denoter[: '{0}']");
406DECLARATION_REPORT(IllegalDeclarationStatementInsideDeclarationOf,
"illegal declaration statement inside declaration of '{0}'");
407DECLARATION_REPORT(IllegalBufferTypeGenericSize,
"illegal usage of generic size in texture, buffer, or stream object");
409DECLARATION_REPORT(TextureSampleCountLimitIs128,
"number of samples in texture must be in the range [1, 128), but got {0}");
410DECLARATION_REPORT(PatchCtrlPointLimitIs64,
"number of control points in patch must be in the range [1, 64], but got {0}");
411DECLARATION_REPORT(VectorAndMatrixDimOutOfRange,
"vector and matrix dimensions must be in the range [1, 4], but got {0}");
414DECLARATION_REPORT(PackOffsetOverridden,
"overwriting packoffset will cause previous packoffset to expire");
415DECLARATION_REPORT(RegisterIgnoredForFuncDeclarations,
"register is ignored for function declarations");
427DECLARATION_REPORT(UserCBuffersCantBeTargetSpecific,
"user-defined constant buffer slots cannot be target specific");
428DECLARATION_REPORT(DeclarationShadowsPreviousLocal,
"declaration of '{0}' shadows a previous local at ({1})");
429DECLARATION_REPORT(DeclarationShadowsMemberOfBase,
"declaration of '{0}' shadows member of base '{1}'");
434 "array index must have scalar or vector type with correct number of dimensions[ (but got "
439DECLARATION_REPORT(InvalidShaderModelForIntrinsic,
"intrinsic '{0}' requires shader model {1}, but only {2} is specified");
442DECLARATION_REPORT(InvalidIntrinsicForStreamOutput,
"invalid intrinsic '{0}' for stream-output object");
446DECLARATION_REPORT(InvalidTypeModifierForMemberField,
"invalid type modifier for structure member field");
447DECLARATION_REPORT(InvalidSymbolRefToVarIdent,
"invalid symbol reference to variable identifier '{0}'");
449 "invalid number of variable declarations in function parameter");
450DECLARATION_REPORT(InvalidInputSemanticInEntryPoint,
"invalid input semantic '{0}' in entry point '{1}'");
451DECLARATION_REPORT(InvalidOutputSemanticInEntryPoint,
"invalid output semantic '{0}' in entry point '{1}'");
452DECLARATION_REPORT(MissingInputSemanticInEntryPoint,
"missing input semantic '{0}' in entry point '{1}'");
453DECLARATION_REPORT(MissingOutputSemanticInEntryPoint,
"missing output semantic '{0}' in entry point '{1}'");
455DECLARATION_REPORT(MissingExpressionInReturnForFunc,
"missing expression in return statement for function with '{0}' return type");
457 "missing initializer expression for default argument of parameter '{0}'");
458DECLARATION_REPORT(MissingInitializerForConstant,
"missing initializer expression for local constant '{0}'");
459DECLARATION_REPORT(MissingSemanticInEntryPointParam,
"missing semantic in parameter '{0}' of entry point");
461DECLARATION_REPORT(IllegalUseOfNormModifiers,
"'snorm' and 'unorm' type modifiers can only be used for floating-point types");
462DECLARATION_REPORT(IllegalExpressionInReturnForVoidFunc,
"illegal expression in return statement for function with 'void' return type");
464DECLARATION_REPORT(IllegalLValueAssignmentToTypeCast,
"illegal assignment to l-value '{0}' due to type mismatch[ with function parameter '{1}']");
465DECLARATION_REPORT(IllegalLValueAssignmentToConst,
"illegal assignment to l-value '{0}' that is[ {1}] declared as constant");
466DECLARATION_REPORT(IllegalRValueAssignment,
"illegal assignment to r-value expression[ via function parameter '{0}']");
467DECLARATION_REPORT(IllegalNonStaticAccessToMember,
"illegal non-static access to static structure member[ '{0}']");
468DECLARATION_REPORT(IllegalStaticAccessToMember,
"illegal static access to non-static structure member[ '{0}']");
474DECLARATION_REPORT(IllegalDefOfNonStaticMemberVar,
"illegal definition of non-static member variable[ '{0}']");
477DECLARATION_REPORT(TooManyArgsForAttribute,
"too many arguments for attribute[ '{0}'][ (expected {1}, but got {2})]");
478DECLARATION_REPORT(TooFewArgsForAttribute,
"too few arguments for attribute[ '{0}'][ (expected {1}, but got {2})]");
479DECLARATION_REPORT(ExpectedIdentArgInAttribute,
"expected identifier as argument for attribute[ '{0}']");
480DECLARATION_REPORT(InvalidIdentArgInAttribute,
"invalid identifier '{0}' used as argument for attribute[ '{1}']");
481DECLARATION_REPORT(ExpectedDomainTypeParamToBe,
"expected domain type parameter to be \"tri\", \"quad\", or \"isoline\"");
483 "expected output topology parameter to be \"point\", \"line\", \"triangle_cw\", or "
486 "expected partitioning mode parameter to be \"integer\", \"pow2\", \"fractional_even\", or "
487 "\"fractional_odd\"");
488DECLARATION_REPORT(ExpectedOutputCtrlPointParamToBe,
"expected output control point parameter to be an UInt32eger");
489DECLARATION_REPORT(ExpectedPatchFuncParamToBe,
"expected patch constant function parameter to be a string literal");
490DECLARATION_REPORT(EntryPointForPatchFuncNotFound,
"entry point \"{0}\" for patch constant function not found");
491DECLARATION_REPORT(MaxVertexCountMustBeGreaterZero,
"maximal vertex count must be greater than zero");
494DECLARATION_REPORT(StructsCantBeDefinedInParam,
"structures cannot be defined in a parameter type[: '{0}']");
495DECLARATION_REPORT(StaticMembersCantBeDefinedInGlob,
"static members can only be defined in global scope[: '{0}']");
497DECLARATION_REPORT(MemberVarsCantHaveDefaultValues,
"member variables cannot have default values[: '{0}']");
498DECLARATION_REPORT(DeclarationTypeDiffersFromDefType,
"declaration type '{0}' differs from definition type '{1}'");
499DECLARATION_REPORT(ArrayTypeCanOnlyAppearInDef,
"array type can only appear in definition of static member variables[: '{0}']");
514DECLARATION_REPORT(SPIRVInvalidMagicNumber,
"invalid magic number in SPIR-V module header[ (expected {0}, but got {1})]");
515DECLARATION_REPORT(SPIRVUnknownVersionNumber,
"unknown version number in SPIR-V module header[: {0}]");
516DECLARATION_REPORT(SPIRVByteStreamNotWordAligned,
"byte stream of SPIR-V module is not 32-bit word aligned");
522DECLARATION_REPORT(NameManglingPrefixResCantBeEmpty,
"name mangling prefix for reserved words must not be empty");
523DECLARATION_REPORT(NameManglingPrefixTmpCantBeEmpty,
"name mangling prefix for temporary variables must not be empty");
557DECLARATION_REPORT(CmdHelpOutput,
"Shader output file (use '*' for default); default='<FILE>.<ENTRY>.<TARGET>'");
559DECLARATION_REPORT(CmdHelpWarn,
"Enables/disables the specified warning type; default={0}; valid types:");
561 "all => all kinds of warnings\n"
562 "basic => warn for basic issues\n"
563 "declaration-shadow => warn for declaration shadowing\n"
564 "empty-body => warn for empty statement body\n"
565 "extension => warn for required extensions\n"
566 "implicit-cast => warn for implicit type casts\n"
567 "index-bound => warn for index boundary violation\n"
568 "preprocessor => warn for pre-processor issues\n"
569 "reflect => warn for issues in code reflection\n"
570 "syntax => warn for syntactic issues\n"
571 "unlocated-obj => warn for unlocated optional objects\n"
572 "unused-vars => warn for unused variables");
573DECLARATION_REPORT(CmdHelpShowAST,
"Enables/disables debug output for the AST (Abstract Syntax Tree); default={0}");
574DECLARATION_REPORT(CmdHelpShowTimes,
"Enables/disables debug output for timings of each compilation step; default={0}");
577DECLARATION_REPORT(CmdHelpMacro,
"Adds the identifier <IDENT> to the pre-defined macros with an optional VALUE");
578DECLARATION_REPORT(CmdHelpSemantic,
"Adds the vertex semantic <IDENT> binding to VALUE (Requires -EB)");
579DECLARATION_REPORT(CmdHelpPackUniforms,
"Packs global uniforms into a single constant buffer; default={0}");
585DECLARATION_REPORT(CmdHelpColor,
"Enables/disables color highlighting for shell output; default={0}");
591DECLARATION_REPORT(CmdHelpAutoBinding,
"Enables/disables automatic binding slot generation (implies -EB); default={0}");
592DECLARATION_REPORT(CmdHelpAutoBindingStartSlot,
"Sets the start slot index for automatic binding slot generation; default=0");
594DECLARATION_REPORT(CmdHelpWrapper,
"Enables/disables the preference for intrinsic wrappers; default={0}");
595DECLARATION_REPORT(CmdHelpUnrollInitializer,
"Enables/disables unrolling of array initializers; default={0}");
597DECLARATION_REPORT(CmdHelpRowMajorAlignment,
"Enables/disables row major packing alignment for matrices; default={0}");
598DECLARATION_REPORT(CmdHelpFormatting,
"Enables/disables the specified formatting option; valid types:");
600 "blanks => blank lines between declarations; default={1}\n"
601 "force-braces => force braces for scopes; default={0}\n"
602 "compact => write compact wrapper functions; default={0}\n"
603 "line-marks => line marks (e.g. '#line 30'); default={0}\n"
604 "line-sep => separate lines in columns; default={1}\n"
605 "newline-scope => write open braces at new lines; default={1}");
609 "in => input variables; default='xsv_'\n"
610 "namespace => namespace objects; default='xsn_'\n"
611 "out => output variables; default='xsv_'\n"
612 "reserved => reserved words; default='xsr_'\n"
613 "temp => temporary variables; default='xst_'");
614DECLARATION_REPORT(CmdHelpNameMangling,
"Enables/disables the specified name-mangling option; valid types:");
616 "buffer-fields => rename 'buffer' fields, not its identifier; default={0}\n"
617 "force-semantics => force semantics for input/output variables; default={0}");
618DECLARATION_REPORT(CmdHelpSeparateShaders,
"Ensures compatibility to 'ARB_separate_shader_objects' extension; default={0}");
619DECLARATION_REPORT(CmdHelpSeparateSamplers,
"Enables/disables generation of separate sampler state objects; default={0}");
640DECLARATION_REPORT(InvalidImageFormatForType,
"invalid image format '{0}' used for buffer of type '{1}'");
642DECLARATION_REPORT(IllegalVectorSpaceAssignment,
"illegal assignment of '{0}' vector-space to '{1}' vector-space");
643DECLARATION_REPORT(InconsistVectorSpacesInTypes,
"inconsistent vector-spaces between type denoters[ (found '{0}' and '{1}')]");
645DECLARATION_REPORT(CmdHelpLanguageExtension,
"Enables/disables the specified language extension; default={0}; valid types:");
647 "all => all kinds of extensions\n"
648 "attr-layout => enable 'layout' attribute to specify image layout format\n"
649 "attr-space => enable 'space' attribute for a stronger type system");
#define DECLARATION_REPORT(NAME, VALUE)
Definition ReportIdents.hpp:14