mirror of https://gitlab.freedesktop.org/mesa/mesa
252 lines
6.5 KiB
YAML
252 lines
6.5 KiB
YAML
# Copyright © 2022 Imagination Technologies Ltd.
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
# The above copyright notice and this permission notice (including the next
|
|
# paragraph) shall be included in all copies or substantial portions of the
|
|
# Software.
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
# SOFTWARE.
|
|
|
|
Language: Cpp
|
|
Standard: c++11
|
|
|
|
UseCRLF: false
|
|
ColumnLimit: 80
|
|
|
|
DeriveLineEnding: false
|
|
DerivePointerAlignment: false
|
|
ExperimentalAutoDetectBinPacking: false
|
|
|
|
DisableFormat: false
|
|
|
|
########
|
|
# Tabs #
|
|
########
|
|
UseTab: Never
|
|
TabWidth: 3
|
|
|
|
ConstructorInitializerIndentWidth: 6
|
|
ContinuationIndentWidth: 3
|
|
|
|
IndentWidth: 3
|
|
#IndentCaseBlocks: true # Requires clang-11
|
|
IndentCaseLabels: false
|
|
#IndentExternBlock: NoIndent # Requires clang-11
|
|
IndentGotoLabels: false
|
|
IndentPPDirectives: AfterHash
|
|
IndentWrappedFunctionNames: false
|
|
AccessModifierOffset: -4 # -IndentWidth
|
|
|
|
NamespaceIndentation: None
|
|
|
|
##########
|
|
# Braces #
|
|
##########
|
|
AlignAfterOpenBracket: Align
|
|
AllowAllArgumentsOnNextLine: false
|
|
AllowAllConstructorInitializersOnNextLine: false
|
|
AllowAllParametersOfDeclarationOnNextLine: false
|
|
BinPackArguments: false
|
|
BinPackParameters: false
|
|
|
|
Cpp11BracedListStyle: false
|
|
|
|
########################
|
|
# Whitespace Alignment #
|
|
########################
|
|
AlignConsecutiveAssignments: false
|
|
#AlignConsecutiveBitFields: false # Requires clang-11
|
|
AlignConsecutiveDeclarations: false
|
|
AlignConsecutiveMacros: false
|
|
AlignTrailingComments: false
|
|
|
|
AlignEscapedNewlines: Left
|
|
|
|
#AlignOperands: Align # Requires clang-11
|
|
#BitFieldColonSpacing: Both # Requires clang-12
|
|
|
|
PointerAlignment: Right
|
|
#SpaceAroundPointerQualifiers: Both # Requires clang-12
|
|
|
|
SpaceAfterCStyleCast: false
|
|
SpaceAfterLogicalNot: false
|
|
SpaceAfterTemplateKeyword: true
|
|
SpaceBeforeAssignmentOperators: true
|
|
SpaceBeforeCpp11BracedList: false
|
|
SpaceBeforeCtorInitializerColon: true
|
|
SpaceBeforeInheritanceColon: true
|
|
SpaceBeforeParens: ControlStatements
|
|
#SpaceBeforeParens: ControlStatementsExceptForEachMacros # Requires clang-11
|
|
SpaceBeforeRangeBasedForLoopColon: true
|
|
SpaceBeforeSquareBrackets: false
|
|
SpaceInEmptyBlock: false
|
|
SpaceInEmptyParentheses: false
|
|
SpacesInAngles: false
|
|
SpacesInCStyleCastParentheses: false
|
|
SpacesInConditionalStatement: false
|
|
SpacesInContainerLiterals: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
SpacesBeforeTrailingComments: 2
|
|
|
|
############################
|
|
# Multi-line constructions #
|
|
############################
|
|
AllowShortBlocksOnASingleLine: Empty
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
#AllowShortEnumsOnASingleLine: false # Requires clang-11
|
|
AllowShortFunctionsOnASingleLine: Empty
|
|
AllowShortIfStatementsOnASingleLine: Never
|
|
AllowShortLambdasOnASingleLine: All
|
|
AllowShortLoopsOnASingleLine: false
|
|
|
|
AlwaysBreakAfterReturnType: None
|
|
AlwaysBreakBeforeMultilineStrings: false
|
|
AlwaysBreakTemplateDeclarations: Yes
|
|
|
|
BreakBeforeBraces: Custom
|
|
BraceWrapping:
|
|
AfterCaseLabel: false
|
|
AfterClass: false
|
|
AfterControlStatement: Never
|
|
AfterEnum: false
|
|
AfterFunction: true
|
|
AfterNamespace: true
|
|
AfterObjCDeclaration: false
|
|
AfterStruct: false
|
|
AfterUnion: false
|
|
BeforeCatch: false
|
|
BeforeElse: false
|
|
# BeforeLambdaBody: false # Requires clang-11
|
|
IndentBraces: false
|
|
SplitEmptyFunction: true
|
|
SplitEmptyNamespace: true
|
|
SplitEmptyRecord: true
|
|
|
|
BreakBeforeBinaryOperators: None
|
|
BreakBeforeTernaryOperators: true
|
|
|
|
BreakConstructorInitializers: AfterColon
|
|
BreakInheritanceList: AfterColon
|
|
|
|
BreakStringLiterals: false
|
|
|
|
CompactNamespaces: false
|
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
|
|
|
#InsertTrailingCommas: Wrapped # Requires clang-11
|
|
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
MaxEmptyLinesToKeep: 1
|
|
|
|
SortUsingDeclarations: true
|
|
|
|
############
|
|
# Includes #
|
|
############
|
|
# TODO: Temporary config
|
|
IncludeBlocks: Preserve
|
|
SortIncludes: false
|
|
# TODO: This requires additional work to clean up headers & includes first
|
|
#IncludeBlocks: Regroup
|
|
#SortIncludes: true
|
|
#IncludeIsMainRegex: '(_test)?$'
|
|
##IncludeIsMainSourceRegex: <default>
|
|
#IncludeCategories:
|
|
# - Regex: '^"'
|
|
# Priority: 1
|
|
|
|
############
|
|
# Comments #
|
|
############
|
|
FixNamespaceComments: false
|
|
|
|
#############
|
|
# Penalties #
|
|
#############
|
|
# Taken from torvalds/kernel:.clang-format
|
|
PenaltyBreakAssignment: 10
|
|
PenaltyBreakBeforeFirstCallParameter: 30
|
|
PenaltyBreakComment: 10
|
|
PenaltyBreakFirstLessLess: 0
|
|
PenaltyBreakString: 10
|
|
PenaltyBreakTemplateDeclaration: 10
|
|
PenaltyExcessCharacter: 100
|
|
PenaltyReturnTypeOnItsOwnLine: 60
|
|
|
|
#######################
|
|
# User-defined macros #
|
|
#######################
|
|
CommentPragmas: '^ IWYU pragma:'
|
|
|
|
MacroBlockBegin: ''
|
|
MacroBlockEnd: ''
|
|
|
|
#AttributeMacros: [] # Requires clang-12
|
|
|
|
ForEachMacros: [
|
|
'foreach_instr',
|
|
'foreach_instr_safe',
|
|
'hash_table_foreach',
|
|
'LIST_FOR_EACH_ENTRY',
|
|
'LIST_FOR_EACH_ENTRY_FROM',
|
|
'LIST_FOR_EACH_ENTRY_FROM_REV',
|
|
'LIST_FOR_EACH_ENTRY_SAFE',
|
|
'LIST_FOR_EACH_ENTRY_SAFE_REV',
|
|
'list_for_each_entry',
|
|
'list_for_each_entry_from',
|
|
'list_for_each_entry_from_rev',
|
|
'list_for_each_entry_from_safe',
|
|
'list_for_each_entry_rev',
|
|
'list_for_each_entry_safe',
|
|
'list_for_each_entry_safe_rev',
|
|
'list_pair_for_each_entry',
|
|
'pvr_csb_emit',
|
|
'pvr_csb_emit_merge',
|
|
'pvr_csb_pack',
|
|
'nir_foreach_block',
|
|
'nir_foreach_block_safe',
|
|
'nir_foreach_function',
|
|
'nir_foreach_instr',
|
|
'nir_foreach_instr_safe',
|
|
'nir_foreach_shader_in_variable',
|
|
'nir_foreach_shader_out_variable',
|
|
'nir_foreach_use',
|
|
'nir_foreach_use_safe',
|
|
'nir_foreach_variable_with_modes',
|
|
'rb_tree_foreach',
|
|
'rb_tree_foreach_safe',
|
|
'u_foreach_bit',
|
|
'u_vector_foreach',
|
|
'util_dynarray_foreach',
|
|
'vk_foreach_struct',
|
|
'vk_foreach_struct_const',
|
|
# FIXME: vk_outarray_append doesn't fit here, remove
|
|
# it when a better solution exists for it.
|
|
'vk_outarray_append',
|
|
'vk_outarray_append_typed'
|
|
]
|
|
|
|
NamespaceMacros: [
|
|
]
|
|
|
|
StatementMacros: [
|
|
]
|
|
|
|
TypenameMacros: [
|
|
]
|
|
|
|
#WhitespaceSensitiveMacros: [] # Requires clang-11
|