xref: /aosp_15_r20/external/mesa3d/src/imagination/.clang-format (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2022 Imagination Technologies Ltd.
2*61046927SAndroid Build Coastguard Worker
3*61046927SAndroid Build Coastguard Worker# Permission is hereby granted, free of charge, to any person obtaining a copy
4*61046927SAndroid Build Coastguard Worker# of this software and associated documentation files (the "Software"), to deal
5*61046927SAndroid Build Coastguard Worker# in the Software without restriction, including without limitation the rights
6*61046927SAndroid Build Coastguard Worker# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7*61046927SAndroid Build Coastguard Worker# copies of the Software, and to permit persons to whom the Software is
8*61046927SAndroid Build Coastguard Worker# furnished to do so, subject to the following conditions:
9*61046927SAndroid Build Coastguard Worker
10*61046927SAndroid Build Coastguard Worker# The above copyright notice and this permission notice (including the next
11*61046927SAndroid Build Coastguard Worker# paragraph) shall be included in all copies or substantial portions of the
12*61046927SAndroid Build Coastguard Worker# Software.
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard Worker# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*61046927SAndroid Build Coastguard Worker# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*61046927SAndroid Build Coastguard Worker# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17*61046927SAndroid Build Coastguard Worker# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18*61046927SAndroid Build Coastguard Worker# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19*61046927SAndroid Build Coastguard Worker# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20*61046927SAndroid Build Coastguard Worker# SOFTWARE.
21*61046927SAndroid Build Coastguard Worker
22*61046927SAndroid Build Coastguard WorkerLanguage: Cpp
23*61046927SAndroid Build Coastguard WorkerStandard: c++11
24*61046927SAndroid Build Coastguard Worker
25*61046927SAndroid Build Coastguard WorkerUseCRLF: false
26*61046927SAndroid Build Coastguard WorkerColumnLimit: 80
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard WorkerDeriveLineEnding: false
29*61046927SAndroid Build Coastguard WorkerDerivePointerAlignment: false
30*61046927SAndroid Build Coastguard WorkerExperimentalAutoDetectBinPacking: false
31*61046927SAndroid Build Coastguard Worker
32*61046927SAndroid Build Coastguard WorkerDisableFormat: false
33*61046927SAndroid Build Coastguard Worker
34*61046927SAndroid Build Coastguard Worker########
35*61046927SAndroid Build Coastguard Worker# Tabs #
36*61046927SAndroid Build Coastguard Worker########
37*61046927SAndroid Build Coastguard WorkerUseTab: Never
38*61046927SAndroid Build Coastguard WorkerTabWidth: 3
39*61046927SAndroid Build Coastguard Worker
40*61046927SAndroid Build Coastguard WorkerConstructorInitializerIndentWidth: 6
41*61046927SAndroid Build Coastguard WorkerContinuationIndentWidth: 3
42*61046927SAndroid Build Coastguard Worker
43*61046927SAndroid Build Coastguard WorkerIndentWidth: 3
44*61046927SAndroid Build Coastguard Worker#IndentCaseBlocks: true  # Requires clang-11
45*61046927SAndroid Build Coastguard WorkerIndentCaseLabels: false
46*61046927SAndroid Build Coastguard Worker#IndentExternBlock: NoIndent  # Requires clang-11
47*61046927SAndroid Build Coastguard WorkerIndentGotoLabels: false
48*61046927SAndroid Build Coastguard WorkerIndentPPDirectives: AfterHash
49*61046927SAndroid Build Coastguard WorkerIndentWrappedFunctionNames: false
50*61046927SAndroid Build Coastguard WorkerAccessModifierOffset: -4  # -IndentWidth
51*61046927SAndroid Build Coastguard Worker
52*61046927SAndroid Build Coastguard WorkerNamespaceIndentation: None
53*61046927SAndroid Build Coastguard Worker
54*61046927SAndroid Build Coastguard Worker##########
55*61046927SAndroid Build Coastguard Worker# Braces #
56*61046927SAndroid Build Coastguard Worker##########
57*61046927SAndroid Build Coastguard WorkerAlignAfterOpenBracket: Align
58*61046927SAndroid Build Coastguard WorkerAllowAllArgumentsOnNextLine: false
59*61046927SAndroid Build Coastguard WorkerAllowAllConstructorInitializersOnNextLine: false
60*61046927SAndroid Build Coastguard WorkerAllowAllParametersOfDeclarationOnNextLine: false
61*61046927SAndroid Build Coastguard WorkerBinPackArguments: false
62*61046927SAndroid Build Coastguard WorkerBinPackParameters: false
63*61046927SAndroid Build Coastguard Worker
64*61046927SAndroid Build Coastguard WorkerCpp11BracedListStyle: false
65*61046927SAndroid Build Coastguard Worker
66*61046927SAndroid Build Coastguard Worker########################
67*61046927SAndroid Build Coastguard Worker# Whitespace Alignment #
68*61046927SAndroid Build Coastguard Worker########################
69*61046927SAndroid Build Coastguard WorkerAlignConsecutiveAssignments: false
70*61046927SAndroid Build Coastguard Worker#AlignConsecutiveBitFields: false  # Requires clang-11
71*61046927SAndroid Build Coastguard WorkerAlignConsecutiveDeclarations: false
72*61046927SAndroid Build Coastguard WorkerAlignConsecutiveMacros: false
73*61046927SAndroid Build Coastguard WorkerAlignTrailingComments: false
74*61046927SAndroid Build Coastguard Worker
75*61046927SAndroid Build Coastguard WorkerAlignEscapedNewlines: Left
76*61046927SAndroid Build Coastguard Worker
77*61046927SAndroid Build Coastguard Worker#AlignOperands: Align  # Requires clang-11
78*61046927SAndroid Build Coastguard Worker#BitFieldColonSpacing: Both  # Requires clang-12
79*61046927SAndroid Build Coastguard Worker
80*61046927SAndroid Build Coastguard WorkerPointerAlignment: Right
81*61046927SAndroid Build Coastguard Worker#SpaceAroundPointerQualifiers: Both  # Requires clang-12
82*61046927SAndroid Build Coastguard Worker
83*61046927SAndroid Build Coastguard WorkerSpaceAfterCStyleCast: false
84*61046927SAndroid Build Coastguard WorkerSpaceAfterLogicalNot: false
85*61046927SAndroid Build Coastguard WorkerSpaceAfterTemplateKeyword: true
86*61046927SAndroid Build Coastguard WorkerSpaceBeforeAssignmentOperators: true
87*61046927SAndroid Build Coastguard WorkerSpaceBeforeCpp11BracedList: false
88*61046927SAndroid Build Coastguard WorkerSpaceBeforeCtorInitializerColon: true
89*61046927SAndroid Build Coastguard WorkerSpaceBeforeInheritanceColon: true
90*61046927SAndroid Build Coastguard WorkerSpaceBeforeParens: ControlStatements
91*61046927SAndroid Build Coastguard Worker#SpaceBeforeParens: ControlStatementsExceptForEachMacros  # Requires clang-11
92*61046927SAndroid Build Coastguard WorkerSpaceBeforeRangeBasedForLoopColon: true
93*61046927SAndroid Build Coastguard WorkerSpaceBeforeSquareBrackets: false
94*61046927SAndroid Build Coastguard WorkerSpaceInEmptyBlock: false
95*61046927SAndroid Build Coastguard WorkerSpaceInEmptyParentheses: false
96*61046927SAndroid Build Coastguard WorkerSpacesInAngles: false
97*61046927SAndroid Build Coastguard WorkerSpacesInCStyleCastParentheses: false
98*61046927SAndroid Build Coastguard WorkerSpacesInConditionalStatement: false
99*61046927SAndroid Build Coastguard WorkerSpacesInContainerLiterals: false
100*61046927SAndroid Build Coastguard WorkerSpacesInParentheses: false
101*61046927SAndroid Build Coastguard WorkerSpacesInSquareBrackets: false
102*61046927SAndroid Build Coastguard WorkerSpacesBeforeTrailingComments: 2
103*61046927SAndroid Build Coastguard Worker
104*61046927SAndroid Build Coastguard Worker############################
105*61046927SAndroid Build Coastguard Worker# Multi-line constructions #
106*61046927SAndroid Build Coastguard Worker############################
107*61046927SAndroid Build Coastguard WorkerAllowShortBlocksOnASingleLine: Empty
108*61046927SAndroid Build Coastguard WorkerAllowShortCaseLabelsOnASingleLine: false
109*61046927SAndroid Build Coastguard Worker#AllowShortEnumsOnASingleLine: false  # Requires clang-11
110*61046927SAndroid Build Coastguard WorkerAllowShortFunctionsOnASingleLine: Empty
111*61046927SAndroid Build Coastguard WorkerAllowShortIfStatementsOnASingleLine: Never
112*61046927SAndroid Build Coastguard WorkerAllowShortLambdasOnASingleLine: All
113*61046927SAndroid Build Coastguard WorkerAllowShortLoopsOnASingleLine: false
114*61046927SAndroid Build Coastguard Worker
115*61046927SAndroid Build Coastguard WorkerAlwaysBreakAfterReturnType: None
116*61046927SAndroid Build Coastguard WorkerAlwaysBreakBeforeMultilineStrings: false
117*61046927SAndroid Build Coastguard WorkerAlwaysBreakTemplateDeclarations: Yes
118*61046927SAndroid Build Coastguard Worker
119*61046927SAndroid Build Coastguard WorkerBreakBeforeBraces: Custom
120*61046927SAndroid Build Coastguard WorkerBraceWrapping:
121*61046927SAndroid Build Coastguard Worker  AfterCaseLabel: false
122*61046927SAndroid Build Coastguard Worker  AfterClass: false
123*61046927SAndroid Build Coastguard Worker  AfterControlStatement: Never
124*61046927SAndroid Build Coastguard Worker  AfterEnum: false
125*61046927SAndroid Build Coastguard Worker  AfterFunction: true
126*61046927SAndroid Build Coastguard Worker  AfterNamespace: true
127*61046927SAndroid Build Coastguard Worker  AfterObjCDeclaration: false
128*61046927SAndroid Build Coastguard Worker  AfterStruct: false
129*61046927SAndroid Build Coastguard Worker  AfterUnion: false
130*61046927SAndroid Build Coastguard Worker  BeforeCatch: false
131*61046927SAndroid Build Coastguard Worker  BeforeElse: false
132*61046927SAndroid Build Coastguard Worker#  BeforeLambdaBody: false  # Requires clang-11
133*61046927SAndroid Build Coastguard Worker  IndentBraces: false
134*61046927SAndroid Build Coastguard Worker  SplitEmptyFunction: true
135*61046927SAndroid Build Coastguard Worker  SplitEmptyNamespace: true
136*61046927SAndroid Build Coastguard Worker  SplitEmptyRecord: true
137*61046927SAndroid Build Coastguard Worker
138*61046927SAndroid Build Coastguard WorkerBreakBeforeBinaryOperators: None
139*61046927SAndroid Build Coastguard WorkerBreakBeforeTernaryOperators: true
140*61046927SAndroid Build Coastguard Worker
141*61046927SAndroid Build Coastguard WorkerBreakConstructorInitializers: AfterColon
142*61046927SAndroid Build Coastguard WorkerBreakInheritanceList: AfterColon
143*61046927SAndroid Build Coastguard Worker
144*61046927SAndroid Build Coastguard WorkerBreakStringLiterals: false
145*61046927SAndroid Build Coastguard Worker
146*61046927SAndroid Build Coastguard WorkerCompactNamespaces: false
147*61046927SAndroid Build Coastguard WorkerConstructorInitializerAllOnOneLineOrOnePerLine: true
148*61046927SAndroid Build Coastguard Worker
149*61046927SAndroid Build Coastguard Worker#InsertTrailingCommas: Wrapped  # Requires clang-11
150*61046927SAndroid Build Coastguard Worker
151*61046927SAndroid Build Coastguard WorkerKeepEmptyLinesAtTheStartOfBlocks: false
152*61046927SAndroid Build Coastguard WorkerMaxEmptyLinesToKeep: 1
153*61046927SAndroid Build Coastguard Worker
154*61046927SAndroid Build Coastguard WorkerSortUsingDeclarations: true
155*61046927SAndroid Build Coastguard Worker
156*61046927SAndroid Build Coastguard Worker############
157*61046927SAndroid Build Coastguard Worker# Includes #
158*61046927SAndroid Build Coastguard Worker############
159*61046927SAndroid Build Coastguard Worker# TODO: Temporary config
160*61046927SAndroid Build Coastguard WorkerIncludeBlocks: Preserve
161*61046927SAndroid Build Coastguard WorkerSortIncludes: false
162*61046927SAndroid Build Coastguard Worker# TODO: This requires additional work to clean up headers & includes first
163*61046927SAndroid Build Coastguard Worker#IncludeBlocks: Regroup
164*61046927SAndroid Build Coastguard Worker#SortIncludes: true
165*61046927SAndroid Build Coastguard Worker#IncludeIsMainRegex: '(_test)?$'
166*61046927SAndroid Build Coastguard Worker##IncludeIsMainSourceRegex: <default>
167*61046927SAndroid Build Coastguard Worker#IncludeCategories:
168*61046927SAndroid Build Coastguard Worker#  - Regex:        '^"'
169*61046927SAndroid Build Coastguard Worker#    Priority:     1
170*61046927SAndroid Build Coastguard Worker
171*61046927SAndroid Build Coastguard Worker############
172*61046927SAndroid Build Coastguard Worker# Comments #
173*61046927SAndroid Build Coastguard Worker############
174*61046927SAndroid Build Coastguard WorkerFixNamespaceComments: false
175*61046927SAndroid Build Coastguard Worker
176*61046927SAndroid Build Coastguard Worker#############
177*61046927SAndroid Build Coastguard Worker# Penalties #
178*61046927SAndroid Build Coastguard Worker#############
179*61046927SAndroid Build Coastguard Worker# Taken from torvalds/kernel:.clang-format
180*61046927SAndroid Build Coastguard WorkerPenaltyBreakAssignment: 10
181*61046927SAndroid Build Coastguard WorkerPenaltyBreakBeforeFirstCallParameter: 30
182*61046927SAndroid Build Coastguard WorkerPenaltyBreakComment: 10
183*61046927SAndroid Build Coastguard WorkerPenaltyBreakFirstLessLess: 0
184*61046927SAndroid Build Coastguard WorkerPenaltyBreakString: 10
185*61046927SAndroid Build Coastguard WorkerPenaltyBreakTemplateDeclaration: 10
186*61046927SAndroid Build Coastguard WorkerPenaltyExcessCharacter: 100
187*61046927SAndroid Build Coastguard WorkerPenaltyReturnTypeOnItsOwnLine: 60
188*61046927SAndroid Build Coastguard Worker
189*61046927SAndroid Build Coastguard Worker#######################
190*61046927SAndroid Build Coastguard Worker# User-defined macros #
191*61046927SAndroid Build Coastguard Worker#######################
192*61046927SAndroid Build Coastguard WorkerCommentPragmas: '^ IWYU pragma:'
193*61046927SAndroid Build Coastguard Worker
194*61046927SAndroid Build Coastguard WorkerMacroBlockBegin: ''
195*61046927SAndroid Build Coastguard WorkerMacroBlockEnd: ''
196*61046927SAndroid Build Coastguard Worker
197*61046927SAndroid Build Coastguard Worker#AttributeMacros: []  # Requires clang-12
198*61046927SAndroid Build Coastguard Worker
199*61046927SAndroid Build Coastguard WorkerForEachMacros: [
200*61046927SAndroid Build Coastguard Worker  'foreach_instr',
201*61046927SAndroid Build Coastguard Worker  'foreach_instr_safe',
202*61046927SAndroid Build Coastguard Worker  'hash_table_foreach',
203*61046927SAndroid Build Coastguard Worker  'LIST_FOR_EACH_ENTRY',
204*61046927SAndroid Build Coastguard Worker  'LIST_FOR_EACH_ENTRY_FROM',
205*61046927SAndroid Build Coastguard Worker  'LIST_FOR_EACH_ENTRY_FROM_REV',
206*61046927SAndroid Build Coastguard Worker  'LIST_FOR_EACH_ENTRY_SAFE',
207*61046927SAndroid Build Coastguard Worker  'LIST_FOR_EACH_ENTRY_SAFE_REV',
208*61046927SAndroid Build Coastguard Worker  'list_for_each_entry',
209*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_from',
210*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_from_rev',
211*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_from_safe',
212*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_rev',
213*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_safe',
214*61046927SAndroid Build Coastguard Worker  'list_for_each_entry_safe_rev',
215*61046927SAndroid Build Coastguard Worker  'list_pair_for_each_entry',
216*61046927SAndroid Build Coastguard Worker  'pvr_csb_emit',
217*61046927SAndroid Build Coastguard Worker  'pvr_csb_emit_merge',
218*61046927SAndroid Build Coastguard Worker  'pvr_csb_pack',
219*61046927SAndroid Build Coastguard Worker  'nir_foreach_block',
220*61046927SAndroid Build Coastguard Worker  'nir_foreach_block_safe',
221*61046927SAndroid Build Coastguard Worker  'nir_foreach_block_unstructured',
222*61046927SAndroid Build Coastguard Worker  'nir_foreach_function',
223*61046927SAndroid Build Coastguard Worker  'nir_foreach_instr',
224*61046927SAndroid Build Coastguard Worker  'nir_foreach_instr_safe',
225*61046927SAndroid Build Coastguard Worker  'nir_foreach_shader_in_variable',
226*61046927SAndroid Build Coastguard Worker  'nir_foreach_shader_out_variable',
227*61046927SAndroid Build Coastguard Worker  'nir_foreach_use',
228*61046927SAndroid Build Coastguard Worker  'nir_foreach_use_safe',
229*61046927SAndroid Build Coastguard Worker  'nir_foreach_variable_with_modes',
230*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block',
231*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block_safe',
232*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block_rev',
233*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block_safe_rev',
234*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block_use',
235*61046927SAndroid Build Coastguard Worker  'rogue_foreach_block_use_safe',
236*61046927SAndroid Build Coastguard Worker  'rogue_foreach_drc_trxn',
237*61046927SAndroid Build Coastguard Worker  'rogue_foreach_drc_trxn_safe',
238*61046927SAndroid Build Coastguard Worker  'rogue_foreach_phase_in_set',
239*61046927SAndroid Build Coastguard Worker  'rogue_foreach_phase_in_set_rev',
240*61046927SAndroid Build Coastguard Worker  'rogue_foreach_imm_use',
241*61046927SAndroid Build Coastguard Worker  'rogue_foreach_imm_use_safe',
242*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_group_in_block',
243*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_group_in_block_safe',
244*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_group_in_shader',
245*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_group_in_shader_safe',
246*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_block',
247*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_block_safe',
248*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_block_rev',
249*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_block_safe_rev',
250*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_shader',
251*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_shader_safe',
252*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_shader_rev',
253*61046927SAndroid Build Coastguard Worker  'rogue_foreach_instr_in_shader_safe_rev',
254*61046927SAndroid Build Coastguard Worker  'rogue_foreach_mod_in_set',
255*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg',
256*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg_safe',
257*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg_use',
258*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg_use_safe',
259*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg_write',
260*61046927SAndroid Build Coastguard Worker  'rogue_foreach_reg_write_safe',
261*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray',
262*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray_safe',
263*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray_use',
264*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray_use_safe',
265*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray_write',
266*61046927SAndroid Build Coastguard Worker  'rogue_foreach_regarray_write_safe',
267*61046927SAndroid Build Coastguard Worker  'rogue_foreach_subarray',
268*61046927SAndroid Build Coastguard Worker  'rogue_foreach_subarray_safe',
269*61046927SAndroid Build Coastguard Worker  'rb_tree_foreach',
270*61046927SAndroid Build Coastguard Worker  'rb_tree_foreach_safe',
271*61046927SAndroid Build Coastguard Worker  'u_foreach_bit',
272*61046927SAndroid Build Coastguard Worker  'u_vector_foreach',
273*61046927SAndroid Build Coastguard Worker  'util_dynarray_foreach',
274*61046927SAndroid Build Coastguard Worker  'vk_foreach_struct',
275*61046927SAndroid Build Coastguard Worker  'vk_foreach_struct_const',
276*61046927SAndroid Build Coastguard Worker# FIXME: vk_outarray_append doesn't fit here, remove
277*61046927SAndroid Build Coastguard Worker# it when a better solution exists for it.
278*61046927SAndroid Build Coastguard Worker  'vk_outarray_append',
279*61046927SAndroid Build Coastguard Worker  'vk_outarray_append_typed'
280*61046927SAndroid Build Coastguard Worker]
281*61046927SAndroid Build Coastguard Worker
282*61046927SAndroid Build Coastguard WorkerNamespaceMacros: [
283*61046927SAndroid Build Coastguard Worker]
284*61046927SAndroid Build Coastguard Worker
285*61046927SAndroid Build Coastguard WorkerStatementMacros: [
286*61046927SAndroid Build Coastguard Worker]
287*61046927SAndroid Build Coastguard Worker
288*61046927SAndroid Build Coastguard WorkerTypenameMacros: [
289*61046927SAndroid Build Coastguard Worker]
290*61046927SAndroid Build Coastguard Worker
291*61046927SAndroid Build Coastguard Worker#WhitespaceSensitiveMacros: []  # Requires clang-11
292