Skip to content

refactor compositor #323

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 294 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
2507ab1
add initial session switching support
ardera Nov 15, 2022
9331b6d
more work on session switching
ardera Nov 18, 2022
69b96df
optimize vulkan render surfaces
ardera Nov 19, 2022
bab2e90
fixes
ardera Nov 21, 2022
2a87760
Add `gstreamer1.0-alsa` to video player deps
ardera Nov 28, 2022
486b62c
updates for gstreamer video player
ardera Jan 23, 2023
a1debad
key event improvements
ardera Jan 23, 2023
e35b736
various fixes, updates
ardera Jan 23, 2023
f38f239
fixes for flutter-next
ardera Jan 10, 2023
b1ca9dd
Update flutter gallery commit for flutter 3.7
ardera Jan 27, 2023
6faabb5
updates for gstreamer video player
ardera Jan 23, 2023
8bf890d
empty commit to retrigger CI
ardera Jan 24, 2023
e19eedd
More `raw_std_...` API
ardera Jan 24, 2023
4be7b95
remove `ATTR_PURE` from `ATTR_MALLOC` method calls
ardera Jan 24, 2023
07f9db8
add platform channel unittests
ardera Jan 24, 2023
bdbe535
rename platform channel test
ardera Jan 24, 2023
2c2f7c4
install deps before checking out repo in CI jobs
ardera Jan 24, 2023
03f8169
use bash as shell for buster CI job
ardera Jan 25, 2023
2b2cfa4
use cd for test command instead of `step.working-directory` option
ardera Jan 25, 2023
956d4fd
verbose ctest output
ardera Jan 25, 2023
772f0ff
use VLA for raw_std_string_equals test
ardera Jan 25, 2023
bb79203
add more platform channel tests
ardera Jan 25, 2023
3a55fc4
fix some tests, allow raw_std_value_get_size for float32 arrays
ardera Jan 26, 2023
06d9e38
add more message codec tests
ardera Jan 29, 2023
9c686b8
enable `-Wmissing-field-initializers` for gcc after 11.3
ardera Jan 30, 2023
d72118d
fix plugin registration
ardera Feb 7, 2023
43e4d2d
gstreamer updates
ardera Feb 9, 2023
51de236
update unity
ardera Feb 9, 2023
31ad152
add `--videomode` option
ardera Feb 9, 2023
c39c7fc
check for gstreamer version
ardera Feb 9, 2023
cd45e11
differentiate plane uploading by gstreamer version
ardera Feb 9, 2023
51ebe58
add support for tiled formats in frame uploading
ardera Feb 10, 2023
7efa5c6
use new modesetting.c from feature/compositor-ng branch
ardera Feb 18, 2023
f319c20
use custom is_drm_master function
ardera Feb 18, 2023
064ac49
fix gstreamer <1.18 compilation
ardera Feb 18, 2023
89aad65
rework gl texture uploading
ardera Feb 23, 2023
6c367ee
further clean-up texture uploading code
ardera Feb 23, 2023
686d1bc
fix for new gstreamer video formats
ardera Feb 23, 2023
a8ed039
print out video format if not supported
ardera Feb 23, 2023
bade8aa
log supported egl formats in debug mode
ardera Feb 23, 2023
b4ea374
properly configure appsink caps
ardera Feb 23, 2023
8272194
unset crtc scanout callback on failure
ardera Feb 23, 2023
ee4e5dd
don't set O_NONBLOCK on drm fd
ardera Feb 23, 2023
6badc3a
fix drm event handling
ardera Feb 23, 2023
be49ea2
fixes
ardera Feb 25, 2023
26f64aa
fix memory offsets for uploading
ardera Feb 25, 2023
13ede4d
also test build using clang
ardera Feb 25, 2023
5d34d26
fix braces (clang warning)
ardera Feb 25, 2023
759c27e
add some more standard message codec tests
ardera Feb 27, 2023
794c281
don't differentiate between master and non-master DRM fd
ardera Feb 27, 2023
f2e3228
fix atomic request memory leak
ardera Feb 28, 2023
0d1f20c
test `raw_std_map_get_first_key`
ardera Feb 28, 2023
2355291
reimplement cursor support
ardera Mar 1, 2023
1dac6c3
specify `prefer_cursor = false` for normal framebuffer planes
ardera Mar 1, 2023
607688f
fix warnings
ardera Mar 1, 2023
ff515bd
fix build without gstreamer
ardera Mar 10, 2023
c958913
fix DPMS
ardera Mar 13, 2023
07ac131
specify CRTC_ID property
ardera Mar 13, 2023
76e18cd
properly set MODE_ID
ardera Mar 13, 2023
763f935
fix some warnings
ardera Mar 27, 2023
6e83355
improvements, fixes
ardera Mar 27, 2023
95c735b
rename jobs
ardera Mar 27, 2023
a12e93d
rename job for testing
ardera Mar 27, 2023
2a00dec
test without `matrix.runner` in `run-on`
ardera Mar 27, 2023
cb245c4
test remove blank line
ardera Mar 27, 2023
8df15a5
fix whitespace issues
ardera Mar 27, 2023
51b3e2a
install deps before checking out
ardera Mar 27, 2023
51e7d98
Assume packages are preinstalled on self-hosted runners
ardera Mar 27, 2023
bf9c4c3
show file tree
ardera Mar 27, 2023
99264fb
show working dir
ardera Mar 27, 2023
5954e63
allow building without libseat
ardera Mar 27, 2023
953c01c
explicitly specify source directory
ardera Mar 27, 2023
5069b3f
fix old pragmas in platformchannel.h
ardera Mar 27, 2023
402d2c6
64-bit fixes
ardera Mar 27, 2023
fdf099c
use `sh` as shell
ardera Mar 27, 2023
cdaa090
more build job testing
ardera Mar 27, 2023
60fc080
fix typo
ardera Mar 27, 2023
a42853f
fixes
ardera Mar 27, 2023
f616ec1
fix typo in vk_gbm_render_surface.c
ardera Mar 27, 2023
9091eb6
fix error handling in vk_gbm_render_surface
ardera Mar 27, 2023
9b2a6ff
use memset for zero-initializing struct
ardera Mar 27, 2023
878e727
make it possible to throw an error if libseat isn't found
ardera Mar 27, 2023
a29f93e
refactor libseat code
ardera Mar 28, 2023
586bcb9
move event loop code into separate file
ardera Mar 28, 2023
bf1a017
add some cmake documentation
ardera Mar 28, 2023
b767d72
start reimplementing cursor support
ardera Mar 29, 2023
936a902
make sure `HAS_VULKAN` is defined when building with vulkan
ardera Mar 31, 2023
5a6c3ce
fix unused variable
ardera Mar 31, 2023
11e58c5
fix LTO
ardera Mar 31, 2023
f0f0560
build for both debug and release mode in CI
ardera Mar 31, 2023
8c3f58b
fix some more unused variable warnings
ardera Mar 31, 2023
7684c42
fix clang compiler recognition
ardera Mar 31, 2023
acf7eef
fixes
ardera Apr 7, 2023
99a5073
reimplement kms window cursor
ardera Mar 30, 2023
32ea819
add support for "unresolved" texture frames in texture registry
ardera Apr 7, 2023
59cfbd0
formatting fixes
ardera Apr 8, 2023
56649cf
apply clang-format
ardera Apr 8, 2023
03224b1
change some macros to be in line with the mesa style
ardera Apr 11, 2023
abbea7f
move some more stuff to `macros.h`
ardera Apr 11, 2023
eff0322
implement fallback for `__builtin_popcount`
ardera Apr 11, 2023
6a96873
fix formatting add "required" pseudo-CI job
ardera Apr 12, 2023
d699f1c
add 'steps' field to cmake workflow
ardera Apr 12, 2023
66ccbdd
replace `unlikely ==> UNLIKELY` in `dynarray.h`
ardera Apr 13, 2023
c47912c
refactor repository layout
ardera Apr 13, 2023
c6bff48
move `include/collection.h ==> src/util/collection.h`
ardera Apr 13, 2023
aa895fe
apply refactors to `src/util/collection.h`
ardera Apr 13, 2023
fa718f2
fixes
ardera Apr 13, 2023
1ad3144
fix missing include in `tracer.h`
ardera Apr 13, 2023
b6c808b
fix missing include of `macros.h` in `refcounting.h`
ardera Apr 13, 2023
bd3edd3
fix formatting in `platformchannel_test.c`
ardera Apr 13, 2023
47453a1
rename assert macros
ardera Apr 14, 2023
3696039
change remaining usages of `DEBUG_ASSERT_...` to `ASSERT_...`
ardera Apr 14, 2023
a260222
finish moving from `cpset` to `util_dynarray` in plugin registry
ardera Apr 14, 2023
c444e88
various refactors
ardera Apr 14, 2023
b309c87
fix incorrect `DEBUG_ASSERT` in `vk_gbm_render_surface.c`
ardera Apr 16, 2023
4e23e65
change `PRIVATE ==> PUBLIC` in all cmake target specifications
ardera Apr 16, 2023
a463ce3
fix unused variables
ardera Apr 16, 2023
88aa75d
fixes
ardera Apr 16, 2023
8763d23
fixes, refactors
ardera May 9, 2023
3940bd5
gl_renderer: add gl_renderer_create_gbm_window_surface
ardera May 13, 2023
bd23d64
egl_gbm_render_surface: use new gl_renderer API
ardera May 13, 2023
b0348df
egl.h: add a way to lint egl headers
ardera May 13, 2023
9ea3824
gl_renderer: log egl errors in gl_renderer_create_gbm_window_surface
ardera May 13, 2023
79082a6
egl: prefer types from extensions to EGL 1.5 types, check for extensi…
ardera May 13, 2023
fa64bf0
surface: only define uuid members and set uuid in debug mode
ardera May 13, 2023
f046835
gl_renderer: fix eglCreateWindowSurface invocation
ardera May 13, 2023
66b3e38
gl_renderer: fix typo, fix gl_renderer_create_gbm_window_surface
ardera May 13, 2023
5516f6a
gitignore: ignore cross-pi4-64-toolchain.cmake
ardera May 13, 2023
7729148
flutter-pi.c: update FlutterProjectArgs
ardera May 13, 2023
17fb085
egl.h: define EGL 1.5 function types ourselves if not defined by EGL/…
ardera May 13, 2023
b3bc84b
bundle flutter_embedder.h with project
ardera May 13, 2023
137a35b
vk_gbm_render_surface & dmabuf_surface: only define uuid in debug mode
ardera May 13, 2023
f4c1b3c
make opengl optional
ardera May 13, 2023
d51893b
texture_registry: fix typo in include
ardera May 13, 2023
f6a06fe
fix typo in gl_renderer.h `#else ==> #endif`
ardera May 13, 2023
b8919f5
modesetting: add drm plane allocation debugging, fix legacy KMS
ardera May 13, 2023
2abc206
add u_vector from mesa
ardera May 14, 2023
5b2cbb4
make u_vector work with flutter-pi
ardera May 14, 2023
b4fdb7c
add util/list.h from mes
ardera May 14, 2023
cdb85b6
format list.h
ardera May 14, 2023
bab2ebb
improve support for legacy kms
ardera May 14, 2023
56259a3
modesetting: track pixel format of plane committed fb
ardera May 14, 2023
f6dfb85
modesetting: make drmModeFreeFB2 weak too
ardera May 15, 2023
41c260f
modesetting: add custom modified format iterator
ardera May 15, 2023
23f4c3e
pixel_format.h: put function attributes in front
ardera May 15, 2023
643c8bc
gl_renderer: log fewer errors, convert to LOG_EGL_ERROR
ardera May 16, 2023
77c6fcb
remove old compositor.{c,h}
ardera May 16, 2023
2d5f57b
gl_renderer: reformat, attempt multiple functions to create EGL display
ardera May 16, 2023
9a66cf7
gl_renderer: add fallback for surface creation too
ardera May 16, 2023
36d4052
gl_renderer: fix missing initialization
ardera May 16, 2023
639f717
vulkan: more safeguard around accidentally using vulkan when disabled
ardera May 16, 2023
56744bf
replace strcmp() == 0 with streq()
ardera May 16, 2023
1e1cbe5
kms window: fix implicit modifier support
ardera May 16, 2023
9b02ce3
modesetting: rename method
ardera May 16, 2023
fae527f
use `config.h` file for feature config
ardera May 17, 2023
34af38c
logging: use filename for logging instead of FILE_DESCR
ardera May 17, 2023
8b4a45f
cmakelists: check compiler version for `-fmacro-prefix-map` support
ardera May 17, 2023
c7caf3f
cmake: use check_c_compiler to check for `-fmacro-prefix-map` support
ardera May 17, 2023
a01e0b5
egl render surface: fix fb registration
ardera Jun 1, 2023
d9c8055
window: add some documentation for pixel format choice
ardera Jun 1, 2023
3074e40
egl render surface: add some documentation
ardera Jun 1, 2023
09d19b5
fix kms mouse cursor
ardera Jun 1, 2023
73cdf14
fix check for egl extension in video player
ardera Jun 1, 2023
4803375
fix locking bug
ardera Jun 1, 2023
b228eda
fix plugin registry locking in video player part 2
ardera Jun 1, 2023
02f869b
fix check for EGL extension header support
ardera Jun 1, 2023
a5695cc
fix typo in unmapping dumb buffer
ardera Jun 1, 2023
be6c8af
gstreamer video player updates
ardera Jun 1, 2023
93124ed
use opaque pixfmt for bottom-most KMS layer
ardera Jun 10, 2023
4406aa9
use gbm for mouse cursor icon
ardera Jun 10, 2023
d41ee2c
use write_cursor_icon for KMS dumb buffer mouse cursor variant too
ardera Jun 10, 2023
69f92f2
fix uninitialized use warning
ardera Jun 10, 2023
cfbf256
fix some issues
ardera Jun 10, 2023
37d4925
gstreamer video player: fix typo in plane size calculation
ardera Jun 10, 2023
0f9b159
gstreamer video player: fix typo in returning calculated plane size
ardera Jun 10, 2023
697e6e2
compositor: fix cursor initialization
ardera Jun 10, 2023
ab881f2
fix raw_std_value_check for maps with size > 1
ardera Jun 13, 2023
eecdc62
platformchannel: add shorthand for checking the called method
ardera Jun 13, 2023
6461590
add `vec2i_swap_xy`, similar to `vec2f_swap_xy`
ardera Jun 13, 2023
f2acd25
fix platform message callbacks if only a v2 callback is configured
ardera Jun 13, 2023
d6b5948
user_input: use global mouse cursor for flutter events
ardera Jun 13, 2023
4c9f6ba
vulkan: fix deprecated ATOMIC_VAR_INIT warning
ardera Jun 13, 2023
174422d
new mouse cursor icons
ardera Jun 13, 2023
4236d38
window: improve cursor support
ardera Jun 13, 2023
dd38285
compositor: add support for pointer kinds
ardera Jun 13, 2023
858ac8e
flutterpi: add API for setting pointer kind
ardera Jun 13, 2023
7b66d9e
services plugin: add mousecursor channel support
ardera Jun 13, 2023
6e3792e
window: properly initialize default mouse cursor icon
ardera Jun 13, 2023
b6a8e0d
services plugin: remove `activateSystemCursor` logging
ardera Jun 13, 2023
bf2e033
user input: fix typo in scroll handling
ardera Jun 13, 2023
a3e3302
fix: make raw_keyboard work with older kernels
ardera Jun 20, 2023
47847c5
ignore some gcc warnings
ardera Jul 2, 2023
248e273
services: remove unportable `#pragma GCC ...`
ardera Jul 3, 2023
f9959c3
cmake: fix asan configure error
ardera Jul 3, 2023
bf2303e
specify RTLD_NODELETE when asan is enabled
ardera Jul 3, 2023
0087a16
fix runs platform tasks on current thread check
ardera Jul 3, 2023
639b289
fix some memory leaks
ardera Jul 3, 2023
3b1c7c4
flutter-pi.c: init mutex using default mutex attrs
ardera Jul 3, 2023
983fb05
user_input: free all device data on destruction
ardera Jul 3, 2023
6513447
plugins: use locked method for removing message handlers
ardera Jul 3, 2023
8600def
plugin registry: use linked lists
ardera Jul 3, 2023
c62fdb4
cmake: add macro prefix mapping for absolute paths too
ardera Jul 12, 2023
c7a1461
compositor, window: add `..._has_egl_surface()`
ardera Jul 12, 2023
52c47cd
add dummy_render_surface
ardera Jul 12, 2023
6743610
gstplayer: some formatting changes
ardera Jul 12, 2023
0772dc2
fix plugin shutdown sequence
ardera Jul 17, 2023
0bf49d1
gstreamer video player: fix locking when deinitializing
ardera Jul 17, 2023
324908b
gl_renderer: fix typo in event tracing
ardera Jul 13, 2023
e315eee
geometry: add some functions, rename `get_aa_bounding_rect`
ardera Jul 13, 2023
83cf01e
window: properly initialize mouse cursor icon
ardera Jul 14, 2023
2026bab
flutter-pi: some more embedder API stability checks
ardera Jul 14, 2023
fe2b02d
egl_gbm_render_surface: Add fixme & crash log
ardera Jul 14, 2023
9a61a56
add assert(0) to UNREACHABLE macro
ardera Jul 16, 2023
ce48296
user_input: add ASSERTED annotation
ardera Jul 16, 2023
5af05c5
tracer: add void-cast in macros
ardera Jul 16, 2023
2cfb96e
some style fixes
ardera Jul 17, 2023
fcf9993
pixel_format: Add ASSUME_PIXFMT_VALID
ardera Jul 17, 2023
a4c6307
window: fix cursor buffer leak
ardera Jul 17, 2023
9329fdf
modesetting: make drmdev_rm_fb_locked extern
ardera Jul 17, 2023
2a96440
window: Fix deadlock when destroying cursor
ardera Jul 17, 2023
9ec9024
modesetting: use get_default_mutex_attrs() for drmdev lock
ardera Jul 17, 2023
3a3b9ee
modesetting: fix small memory leak
ardera Jul 17, 2023
f53fe34
gstreamer video player: free uri in on_create
ardera Jul 17, 2023
fe04972
texture registry: fix NULL pointer dereference
ardera Jul 17, 2023
874003d
gstreamer video player: free asset path and pipeline too
ardera Jul 17, 2023
e9e5419
gstreamer video player: deinitialize gstreamer
ardera Jul 18, 2023
7c7dcb7
gstreamer video player: fix leaking buffering query on error
ardera Jul 18, 2023
36d3c01
gstreamer video player: Don't leak preroll samples
ardera Jul 18, 2023
2581543
flutter-pi.c: make ABI checks work on ARM64
ardera Jul 18, 2023
8ad421c
flutter-pi.c: use drmdev_unref instead of _destroy
ardera Jul 18, 2023
f718eba
modesetting: hide drmdev_destroy
ardera Jul 18, 2023
046d45b
modesetting: make hide kms_req_builder_destroy
ardera Jul 20, 2023
841fb02
modesetting: Add documentation
ardera Jul 20, 2023
28674c7
gstreamer video player: add performance todo
ardera Jul 21, 2023
1c2b19c
window: remove some commented out code
ardera Aug 3, 2023
9f446a9
util: move asserts into separate file
ardera Aug 3, 2023
891c0c0
util: move lock ops into separate file
ardera Aug 3, 2023
7af206f
notifier_listener: use linked list
ardera Aug 3, 2023
22e7ccf
modesetting: remove unused drmdev_atomic_req
ardera Aug 3, 2023
b52ab0e
texture registry: use to linked list
ardera Aug 3, 2023
0b29296
locales: use linked list
ardera Aug 3, 2023
ad229bd
compositor_ng: remove unused platform_views member
ardera Aug 3, 2023
5bdfc49
flutter-pi.c: Use linked list instead of pset
ardera Aug 3, 2023
d890fba
audioplayers: Use linked list instead of concurrent pointer set
ardera Aug 3, 2023
361593d
util: Remove queue, pointer_set
ardera Aug 3, 2023
8ca65de
fix include guards in event loop
ardera Aug 3, 2023
cd8183b
further destruct collection.h
ardera Aug 3, 2023
ed186fa
style: apply clang-format
ardera Aug 3, 2023
566c504
style: recreate & unify style for all header guards
ardera Aug 3, 2023
c1e3d87
flutter-pi.c: fix uninitialized use
ardera Aug 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 171 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# SPDX-License-Identifier: MIT
#
# For more information, see:
#
# Documentation/process/clang-format.rst
# https://clang.llvm.org/docs/ClangFormat.html
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
#
---
AccessModifierOffset: -4
AlignAfterOpenBracket: BlockIndent
#AlignArrayOfStructures: Right
AlignConsecutiveAssignments: false
#AlignConsecutiveBitFields: false
AlignConsecutiveDeclarations: false
AlignConsecutiveMacros: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: false
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: true
#AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
#AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: false
AttributeMacros:
- 'MAYBE_UNUSED'
- 'ATTR_MALLOC'
- 'NONNULL'
- 'ATTR_PURE'
- 'ATTR_CONST'

BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: true
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
AlwaysBreakBeforeMultilineStrings: true
ColumnLimit: 140
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
#ExperimentalAutoDetectBinPacking: true
FixNamespaceComments: false
ForEachMacros:
- 'for_each_pointer_in_pset'
- 'for_each_pointer_in_cpset'
- 'for_each_connector_in_drmdev'
- 'for_each_encoder_in_drmdev'
- 'for_each_crtc_in_drmdev'
- 'for_each_plane_in_drmdev'
- 'for_each_mode_in_connector'
- 'for_each_unreserved_plane_in_atomic_req'

IncludeBlocks: Regroup
IncludeCategories:
# C standard library headers
- Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>$'
Priority: 1
# POSIX headers
- Regex: '^<(ctype|dlfcn|fcntl|glob|limits|locale|poll|pthread|regex|semaphore|unistd|sys/mman|sys/stat|sys/types|sys/select)\.h>$'
Priority: 2
# all <> includes
- Regex: '^<[^>]*>$'
Priority: 3
# config header should go last
- Regex: '^"config\.h"$'
Priority: 5
# all "" includes
- Regex: '^"[^"]*"$'
Priority: 4
# all other includes
- Regex: '^.*$'
Priority: 4

IncludeIsMainRegex: '(_test)?$'
IndentCaseLabels: true
IndentGotoLabels: false
IndentPPDirectives: BeforeHash
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 8
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true

PenaltyBreakAssignment: 60
PenaltyBreakBeforeFirstCallParameter: 0
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 0
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 60

PointerAlignment: Right
ReflowComments: false
SortIncludes: CaseInsensitive
SortUsingDeclarations: false
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatementsExceptForEachMacros
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp03
StatementMacros:
- 'DECLARE_REF_OPS'
- 'DEFINE_REF_OPS'
- 'DEFINE_STATIC_REF_OPS'
- 'DECLARE_LOCK_OPS'
- 'DEFINE_LOCK_OPS'
- 'DEFINE_STATIC_LOCK_OPS'
- 'DEFINE_INLINE_LOCK_OPS'
- 'UUID'
- 'CONST_UUID'
TabWidth: 4
TypenameMacros:
- 'BMAP_ELEMENT_TYPE'
- 'MAX_ALIGNMENT'
UseTab: Never
Loading