From 4423a52816555598743b1ca86eb73a9052707cd6 Mon Sep 17 00:00:00 2001 From: Dennis Tsiang Date: Thu, 4 Jul 2024 10:30:42 +0100 Subject: [PATCH] Update clang-format rules Signed-off-by: Dennis Tsiang Change-Id: I76f87648a8ddaeddb6774123d263957b845d10a1 --- .clang-format | 76 ++++++++++++++++++++++++++++++++- .pre-commit-config.yaml | 2 +- util/custom_allocator.cpp | 4 +- util/custom_allocator.hpp | 14 +++--- util/file_descriptor.hpp | 7 ++- util/format_modifiers.cpp | 4 +- util/timed_semaphore.hpp | 5 +-- util/unordered_map.hpp | 14 +++--- util/unordered_set.hpp | 14 +++--- wsi/surface_properties.hpp | 14 ++---- wsi/synchronization.hpp | 6 +-- wsi/wayland/surface.cpp | 13 +++--- wsi/wayland/surface.hpp | 6 +-- wsi/wayland/swapchain.hpp | 5 +-- wsi/wayland/wl_helpers.cpp | 18 ++++---- wsi/wayland/wl_object_owner.hpp | 4 +- 16 files changed, 133 insertions(+), 73 deletions(-) diff --git a/.clang-format b/.clang-format index 6c234cb..b31462b 100644 --- a/.clang-format +++ b/.clang-format @@ -1,109 +1,183 @@ +# The style used for all options not specifically set in the configuration. BasedOnStyle: LLVM +# The extra indent or outdent of access modifiers, e.g. public:. AccessModifierOffset: -3 +# If true, aligns escaped newlines as far left as possible. Otherwise puts them into the right-most column. AlignEscapedNewlinesLeft: true +# If true, aligns trailing comments. AlignTrailingComments: true +# Allow putting all parameters of a function declaration onto the next line even if BinPackParameters is false. AllowAllParametersOfDeclarationOnNextLine: false +# Allows contracting simple braced statements to a single line. AllowShortBlocksOnASingleLine: false +# If true, short case labels will be contracted to a single line. AllowShortCaseLabelsOnASingleLine: false +# Dependent on the value, int f() { return 0; } can be put on a single line. Possible values: None, Inline, All. AllowShortFunctionsOnASingleLine: None +# If true, if (a) return; can be put on a single line. AllowShortIfStatementsOnASingleLine: false +# If true, while (true) continue; can be put on a single line. AllowShortLoopsOnASingleLine: false +# If true, always break after function definition return types. AlwaysBreakAfterDefinitionReturnType: false +# If true, always break before multiline string literals. AlwaysBreakBeforeMultilineStrings: false +# If true, always break after the template<...> of a template declaration. AlwaysBreakTemplateDeclarations: true +# If false, a function call's arguments will either be all on the same line or will have one line each. BinPackArguments: true +# If false, a function declaration's or function definition's parameters will either all be on the same line +# or will have one line each. BinPackParameters: true +# The way to wrap binary operators. Possible values: None, NonAssignment, All. BreakBeforeBinaryOperators: None -BreakBeforeBraces: Allman +# The brace breaking style to use. Possible values: Attach, Linux, Stroustrup, Allman, GNU. +BreakBeforeBraces: Custom +# Like Allman but do not indent extern blocks +BraceWrapping: + AfterExternBlock: 'false' + AfterCaseLabel: 'true' + AfterClass: 'true' + AfterEnum: 'true' + AfterFunction: 'true' + AfterNamespace: 'true' + AfterObjCDeclaration: 'true' + AfterStruct: 'true' + AfterUnion: 'true' + BeforeCatch: 'true' + BeforeElse: 'true' + AfterControlStatement: 'Always' +# If true, ternary operators will be placed after line breaks. BreakBeforeTernaryOperators: false +# Always break constructor initializers before commas and align the commas with the colon. BreakConstructorInitializersBeforeComma: true +# The column limit. A column limit of 0 means that there is no column limit. ColumnLimit: 120 +# A regular expression that describes comments with special meaning, which should not be split into lines or otherwise changed. CommentPragmas: '^ *' +# If the constructor initializers don't fit on a line, put each initializer on its own line. ConstructorInitializerAllOnOneLineOrOnePerLine: false +# The number of characters to use for indentation of constructor initializer lists. ConstructorInitializerIndentWidth: 3 +# Indent width for line continuations. ContinuationIndentWidth: 3 +# If true, format braced lists as best suited for C++11 braced lists. Cpp11BracedListStyle: false +# Disables formatting at all. DisableFormat: false +# A vector of macros that should be interpreted as foreach loops instead of as function calls. ForEachMacros: [''] +# Indent case labels one level from the switch statement. +# When false, use the same indentation level as for the switch statement. +# Switch statement body is always indented one level more than case labels. IndentCaseLabels: false +# The number of columns to use for indentation. IndentWidth: 3 +# Indent if a function definition or declaration is wrapped after the type. IndentWrappedFunctionNames: false +# If true, empty lines at the start of blocks are kept. KeepEmptyLinesAtTheStartOfBlocks: true +# Language, this format style is targeted at. Possible values: None, Cpp, Java, JavaScript, Proto. Language: Cpp +# The maximum number of consecutive empty lines to keep. MaxEmptyLinesToKeep: 1 +# The indentation used for namespaces. Possible values: None, Inner, All. NamespaceIndentation: None +# The penalty for breaking a function call after "call(". PenaltyBreakBeforeFirstCallParameter: 19 +# The penalty for each line break introduced inside a comment. PenaltyBreakComment: 300 +# The penalty for breaking before the first <<. PenaltyBreakFirstLessLess: 120 +# The penalty for each line break introduced inside a string literal. PenaltyBreakString: 1000 +# The penalty for each character outside of the column limit. PenaltyExcessCharacter: 1000000 +# Penalty for putting the return type of a function onto its own line. PenaltyReturnTypeOnItsOwnLine: 1000000000 +# Pointer and reference alignment style. Possible values: Left, Right, Middle. PointerAlignment: Right +# Do not sort includes SortIncludes: false +# If true, a space may be inserted after C style casts. SpaceAfterCStyleCast: false +# If false, spaces will be removed before assignment operators. SpaceBeforeAssignmentOperators: true +# Defines in which cases to put a space before opening parentheses. Possible values: Never, ControlStatements, Always. SpaceBeforeParens: ControlStatements +# If true, spaces may be inserted into '()'. SpaceInEmptyParentheses: false +# The number of spaces before trailing line comments (// - comments). SpacesBeforeTrailingComments: 1 +# If true, spaces will be inserted after '<' and before '>' in template argument lists. SpacesInAngles: false +# If true, spaces may be inserted into C style casts. SpacesInCStyleCastParentheses: false +# If true, spaces are inserted inside container literals (e.g. ObjC and Javascript array and dict literals). SpacesInContainerLiterals: false +# If true, spaces will be inserted after '(' and before ')'. SpacesInParentheses: false +# If true, spaces will be inserted after '[' and befor']'. SpacesInSquareBrackets: false +# Format compatible with this standard, e.g. use A > instead of A> for LS_Cpp03. Possible values: Cpp03, Cpp11, Auto. Standard: Cpp11 +# The number of columns used for tab stops. TabWidth: 3 +# The way to use tab characters in the resulting file. Possible values: Never, ForIndentation, Always. UseTab: Never + +FixNamespaceComments: false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 49f0ccd..5b92bb9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ minimum_pre_commit_version: 2.9.0 repos: - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v10.0.1 + rev: v14.0.0 hooks: - id: clang-format diff --git a/util/custom_allocator.cpp b/util/custom_allocator.cpp index 53ae716..3da4955 100644 --- a/util/custom_allocator.cpp +++ b/util/custom_allocator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 Arm Limited. + * Copyright (c) 2020-2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -45,7 +45,7 @@ VWL_VKAPI_CALL(void) default_free(void *, void *pMemory) VWL_API_POST free(pMemory); } -const allocator& allocator::get_generic() +const allocator &allocator::get_generic() { static allocator generic{ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, nullptr }; return generic; diff --git a/util/custom_allocator.hpp b/util/custom_allocator.hpp index 40f90a8..45c2c0d 100644 --- a/util/custom_allocator.hpp +++ b/util/custom_allocator.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 Arm Limited. + * Copyright (c) 2020-2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -99,7 +99,7 @@ public: * @return Pointer to the newly created objects or @c nullptr if allocation failed. */ template - T *create(size_t num_objects, arg_types &&... args) const noexcept; + T *create(size_t num_objects, arg_types &&...args) const noexcept; /** * @brief Helper method to destroy and deallocate objects constructed with allocator::create(). @@ -109,7 +109,7 @@ public: void destroy(size_t num_objects, T *obj) const noexcept; template - util::unique_ptr make_unique(Args &&... args) const noexcept; + util::unique_ptr make_unique(Args &&...args) const noexcept; VkAllocationCallbacks m_callbacks{}; VkSystemAllocationScope m_scope; @@ -193,7 +193,7 @@ bool operator!=(const custom_allocator &, const custom_allocator &) } template -T *allocator::create(size_t num_objects, arg_types &&... args) const noexcept +T *allocator::create(size_t num_objects, arg_types &&...args) const noexcept { if (num_objects < 1) { @@ -282,7 +282,7 @@ public: * @brief Creates a util::unique_ptr object using the allocator for the deleter. */ template -util::unique_ptr allocator::make_unique(Args &&... args) const noexcept +util::unique_ptr allocator::make_unique(Args &&...args) const noexcept { T *object = create(1, std::forward(args)...); return util::unique_ptr(object, *this); @@ -324,7 +324,7 @@ public: * @return @c false iff the operation could not be performed due to an allocation failure. */ template - bool try_push_back(arg_types &&... args) noexcept + bool try_push_back(arg_types &&...args) noexcept { try { @@ -356,7 +356,7 @@ public: * @return @c false iff the operation could not be performed due to an allocation failure. */ template - bool try_resize(arg_types &&... args) noexcept + bool try_resize(arg_types &&...args) noexcept { try { diff --git a/util/file_descriptor.hpp b/util/file_descriptor.hpp index 664848f..813aaba 100644 --- a/util/file_descriptor.hpp +++ b/util/file_descriptor.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. + * Copyright (c) 2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -44,10 +44,9 @@ namespace util class fd_owner : private noncopyable { public: - fd_owner() = default; fd_owner(int fd) - : fd_handle{ fd } + : fd_handle{ fd } { } @@ -77,7 +76,7 @@ public: bool is_valid() { - return fd_handle >= 0; + return fd_handle >= 0; } private: diff --git a/util/format_modifiers.cpp b/util/format_modifiers.cpp index 722a141..51c4cf3 100644 --- a/util/format_modifiers.cpp +++ b/util/format_modifiers.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Arm Limited. + * Copyright (c) 2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -51,4 +51,4 @@ VkResult get_drm_format_properties(VkPhysicalDevice physical_device, VkFormat fo instance_data.disp.GetPhysicalDeviceFormatProperties2KHR(physical_device, format, &format_props); return VK_SUCCESS; } -} /* namespace util */ +} /* namespace util */ diff --git a/util/timed_semaphore.hpp b/util/timed_semaphore.hpp index 9f5b867..9844c84 100644 --- a/util/timed_semaphore.hpp +++ b/util/timed_semaphore.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2019 Arm Limited. + * Copyright (c) 2017, 2019, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -39,8 +39,7 @@ #pragma once -extern "C" -{ +extern "C" { #include } diff --git a/util/unordered_map.hpp b/util/unordered_map.hpp index 5df3b76..ba00a3b 100644 --- a/util/unordered_map.hpp +++ b/util/unordered_map.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 Arm Limited. + * Copyright (c) 2021-2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -37,10 +37,8 @@ namespace util * exceptions don't throw them and also ensures that the memory can * only be allocated by an custom_allocator. */ -template , - typename Comparator = std::equal_to, - typename Allocator = util::custom_allocator>> +template , typename Comparator = std::equal_to, + typename Allocator = util::custom_allocator>> class unordered_map : public std::unordered_map, private noncopyable { using base = std::unordered_map; @@ -84,7 +82,7 @@ public: { return { base::insert(value) }; } - catch(std::bad_alloc& e) + catch (std::bad_alloc &e) { return std::nullopt; } @@ -104,7 +102,7 @@ public: base::reserve(size); return true; } - catch(std::bad_alloc& e) + catch (std::bad_alloc &e) { return false; } @@ -124,7 +122,7 @@ public: base::rehash(count); return true; } - catch(std::bad_alloc& e) + catch (std::bad_alloc &e) { return false; } diff --git a/util/unordered_set.hpp b/util/unordered_set.hpp index de1f368..b5ab38c 100644 --- a/util/unordered_set.hpp +++ b/util/unordered_set.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 Arm Limited. + * Copyright (c) 2021-2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -37,10 +37,8 @@ namespace util * exceptions don't throw them and also ensures that the memory can * only be allocated by an custom_allocator. */ -template , - typename Comparator = std::equal_to, - typename Allocator = util::custom_allocator> +template , typename Comparator = std::equal_to, + typename Allocator = util::custom_allocator> class unordered_set : public std::unordered_set, private noncopyable { using value_type = Key; @@ -80,7 +78,7 @@ public: { try { - return {base::insert(value)}; + return { base::insert(value) }; } catch (const std::bad_alloc &e) { @@ -102,7 +100,7 @@ public: base::reserve(size); return true; } - catch(std::bad_alloc& e) + catch (std::bad_alloc &e) { return false; } @@ -122,7 +120,7 @@ public: base::rehash(count); return true; } - catch(std::bad_alloc& e) + catch (std::bad_alloc &e) { return false; } diff --git a/wsi/surface_properties.hpp b/wsi/surface_properties.hpp index 99d8e5b..a42274b 100644 --- a/wsi/surface_properties.hpp +++ b/wsi/surface_properties.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019, 2021-2023 Arm Limited. + * Copyright (c) 2017-2019, 2021-2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -100,16 +100,10 @@ class surface_format_properties { public: surface_format_properties(VkFormat format) - : m_surface_format - { - format, VK_COLORSPACE_SRGB_NONLINEAR_KHR - } + : m_surface_format{ format, VK_COLORSPACE_SRGB_NONLINEAR_KHR } #if WSI_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN - , m_compression - { - VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT, nullptr, VK_IMAGE_COMPRESSION_DEFAULT_EXT, - VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT - } + , m_compression{ VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT, nullptr, VK_IMAGE_COMPRESSION_DEFAULT_EXT, + VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT } #endif { } diff --git a/wsi/synchronization.hpp b/wsi/synchronization.hpp index 297275b..2ad08f1 100644 --- a/wsi/synchronization.hpp +++ b/wsi/synchronization.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 Arm Limited. + * Copyright (c) 2021-2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -38,8 +38,8 @@ namespace layer { - class device_private_data; - class instance_private_data; +class device_private_data; +class instance_private_data; } /* namespace layer */ namespace wsi diff --git a/wsi/wayland/surface.cpp b/wsi/wayland/surface.cpp index d20e4cd..fd2c0d7 100644 --- a/wsi/wayland/surface.cpp +++ b/wsi/wayland/surface.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. + * Copyright (c) 2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -40,8 +40,8 @@ namespace wayland struct formats_vector { - util::vector *formats{nullptr}; - bool is_out_of_memory{false}; + util::vector *formats{ nullptr }; + bool is_out_of_memory{ false }; }; namespace @@ -120,7 +120,7 @@ static VkResult get_supported_formats_and_modifiers(wl_display *display, wl_even struct surface::init_parameters { - const util::allocator& allocator; + const util::allocator &allocator; wl_display *display; wl_surface *surf; }; @@ -242,10 +242,9 @@ bool surface::init() return true; } -util::unique_ptr surface::make_surface(const util::allocator &allocator, wl_display *display, - wl_surface *surf) +util::unique_ptr surface::make_surface(const util::allocator &allocator, wl_display *display, wl_surface *surf) { - init_parameters params {allocator, display, surf}; + init_parameters params{ allocator, display, surf }; auto wsi_surface = allocator.make_unique(params); if (wsi_surface != nullptr) { diff --git a/wsi/wayland/surface.hpp b/wsi/wayland/surface.hpp index d09b6e3..e1367c5 100644 --- a/wsi/wayland/surface.hpp +++ b/wsi/wayland/surface.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. + * Copyright (c) 2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -60,7 +60,7 @@ public: struct init_parameters; /** Constructor to allow for custom allocation, but require privately defined arguments. */ - surface(const init_parameters&); + surface(const init_parameters &); /** * @brief Allocates and initializes a surface @@ -109,7 +109,7 @@ public: * * The raw pointer is valid for the lifetime of the surface. */ - zwp_linux_surface_synchronization_v1* get_surface_sync_interface() + zwp_linux_surface_synchronization_v1 *get_surface_sync_interface() { return surface_sync_interface.get(); } diff --git a/wsi/wayland/swapchain.hpp b/wsi/wayland/swapchain.hpp index 5e1c544..41c14bb 100644 --- a/wsi/wayland/swapchain.hpp +++ b/wsi/wayland/swapchain.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019, 2021-2022 Arm Limited. + * Copyright (c) 2017-2019, 2021-2022, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -27,8 +27,7 @@ #include "wsi/swapchain_base.hpp" #include "wl_helpers.hpp" -extern "C" -{ +extern "C" { #include } diff --git a/wsi/wayland/wl_helpers.cpp b/wsi/wayland/wl_helpers.cpp index 5b324a1..6719b95 100644 --- a/wsi/wayland/wl_helpers.cpp +++ b/wsi/wayland/wl_helpers.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019, 2021 Arm Limited. + * Copyright (c) 2017-2019, 2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -41,12 +41,12 @@ int dispatch_queue(struct wl_display *display, struct wl_event_queue *queue, int int retval; /* Before we sleep, dispatch any pending events. prepare_read_queue will return 0 whilst there are pending - * events to dispatch on the queue. */ + * events to dispatch on the queue. */ while (0 != wl_display_prepare_read_queue(display, queue)) { /* dispatch_queue_pending returns -1 on error, or the number of events dispatched otherwise. If we - * already dispatched some events, then we might not need to sleep, as we might have just dispatched - * the event we want, so return immediately. */ + * already dispatched some events, then we might not need to sleep, as we might have just dispatched + * the event we want, so return immediately. */ err = wl_display_dispatch_queue_pending(display, queue); if (err) { @@ -60,10 +60,10 @@ int dispatch_queue(struct wl_display *display, struct wl_event_queue *queue, int while (true) { /* Timeout is given in milliseconds. A return value of 0, or -1 with errno set to EINTR means that we - * should retry as the timeout was exceeded or we were interrupted by a signal, respectively. A - * return value of 1 means that something happened, and we should inspect the pollfd structure to see - * just what that was. - */ + * should retry as the timeout was exceeded or we were interrupted by a signal, respectively. A + * return value of 1 means that something happened, and we should inspect the pollfd structure to see + * just what that was. + */ err = poll(&pfd, 1, timeout); if (0 == err) { @@ -102,7 +102,7 @@ int dispatch_queue(struct wl_display *display, struct wl_event_queue *queue, int } /* Actually read the events from the display. A failure in read_events calls cancel_read internally for us, - * so we don't need to do that here. */ + * so we don't need to do that here. */ err = wl_display_read_events(display); if (0 != err) { diff --git a/wsi/wayland/wl_object_owner.hpp b/wsi/wayland/wl_object_owner.hpp index 04d4659..7199e66 100644 --- a/wsi/wayland/wl_object_owner.hpp +++ b/wsi/wayland/wl_object_owner.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. + * Copyright (c) 2021, 2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -77,7 +77,7 @@ struct wayland_deleter } }; -template +template using wayland_owner = std::unique_ptr>; template