From 59b59cf6be756a61b64bd21fe4a616b76a98ee28 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 25 Jan 2024 16:57:46 -0800 Subject: [PATCH] add missing includes in libutils public headers --- .../private/filament/SamplerInterfaceBlock.h | 5 +++- libs/filamat/src/eiff/Flattener.h | 22 ++++++++++------- libs/gltfio/src/ArchiveCache.cpp | 24 ++++++++++++++++--- libs/utils/include/utils/Allocator.h | 2 +- libs/utils/include/utils/BitmaskEnum.h | 3 --- libs/utils/include/utils/CString.h | 4 ++-- libs/utils/include/utils/CallStack.h | 3 ++- libs/utils/include/utils/CountDownLatch.h | 5 ++-- libs/utils/include/utils/EntityInstance.h | 3 +-- libs/utils/include/utils/EntityManager.h | 7 +++--- .../utils/include/utils/FixedCapacityVector.h | 4 +++- .../utils/include/utils/FixedCircularBuffer.h | 3 ++- libs/utils/include/utils/Hash.h | 7 +++--- libs/utils/include/utils/JobSystem.h | 23 +++++++++++------- .../include/utils/NameComponentManager.h | 1 - libs/utils/include/utils/Panic.h | 4 ++-- .../include/utils/PrivateImplementation.h | 2 -- libs/utils/include/utils/Profiler.h | 7 ++++-- libs/utils/include/utils/QuadTree.h | 1 - libs/utils/include/utils/Range.h | 4 ++-- libs/utils/include/utils/RangeMap.h | 3 +++ libs/utils/include/utils/Stopwatch.h | 4 +++- libs/utils/include/utils/StructureOfArrays.h | 4 +++- .../utils/include/utils/WorkStealingDequeue.h | 1 + libs/utils/include/utils/Zip2Iterator.h | 3 ++- .../include/utils/android/ThermalManager.h | 2 -- libs/utils/include/utils/generic/Condition.h | 2 ++ .../include/utils/generic/ThermalManager.h | 2 -- libs/utils/include/utils/linux/Mutex.h | 4 +++- libs/utils/include/utils/string.h | 2 -- samples/gltf_viewer.cpp | 1 + 31 files changed, 102 insertions(+), 60 deletions(-) diff --git a/libs/filabridge/include/private/filament/SamplerInterfaceBlock.h b/libs/filabridge/include/private/filament/SamplerInterfaceBlock.h index af592155a6..03f5b5e82c 100644 --- a/libs/filabridge/include/private/filament/SamplerInterfaceBlock.h +++ b/libs/filabridge/include/private/filament/SamplerInterfaceBlock.h @@ -20,13 +20,16 @@ #include -#include #include #include #include #include #include +#include + +#include +#include namespace filament { diff --git a/libs/filamat/src/eiff/Flattener.h b/libs/filamat/src/eiff/Flattener.h index a658afe6e0..2e3cfa2235 100644 --- a/libs/filamat/src/eiff/Flattener.h +++ b/libs/filamat/src/eiff/Flattener.h @@ -17,13 +17,19 @@ #ifndef TNT_FILAMAT_FLATENNER_H #define TNT_FILAMAT_FLATENNER_H -#include +#include +#include +#include +#include #include +#include #include #include #include +#include +#include #include using namespace utils; @@ -97,7 +103,7 @@ public: } void writeString(const char* str) { - size_t len = strlen(str); + size_t const len = strlen(str); if (mStart != nullptr) { strcpy(reinterpret_cast(mCursor), str); } @@ -105,7 +111,7 @@ public: } void writeString(std::string_view str) { - size_t len = str.length(); + size_t const len = str.length(); if (mStart != nullptr) { memcpy(reinterpret_cast(mCursor), str.data(), len); mCursor[len] = 0; @@ -145,12 +151,12 @@ public: } uint32_t writeSize() { - assert(mSizePlaceholders.size() > 0); + assert(!mSizePlaceholders.empty()); uint8_t* dst = mSizePlaceholders.back(); mSizePlaceholders.pop_back(); // -4 to account for the 4 bytes we are about to write. - uint32_t size = static_cast(mCursor - dst - 4); + uint32_t const size = static_cast(mCursor - dst - 4); if (mStart != nullptr) { dst[0] = static_cast( size & 0xff); dst[1] = static_cast((size >> 8) & 0xff); @@ -177,12 +183,12 @@ public: } for(auto pair : mOffsetPlaceholders) { - size_t index = pair.first; + size_t const index = pair.first; if (index != forIndex) { continue; } uint8_t* dst = pair.second; - size_t offset = mCursor - mOffsetsBase; + size_t const offset = mCursor - mOffsetsBase; if (offset > UINT32_MAX) { slog.e << "Unable to write offset greater than UINT32_MAX." << io::endl; exit(0); @@ -206,7 +212,7 @@ public: } void writePlaceHoldValue(size_t v) { - assert(mValuePlaceholders.size() > 0); + assert(!mValuePlaceholders.empty()); if (v > UINT32_MAX) { slog.e << "Unable to write value greater than UINT32_MAX." << io::endl; diff --git a/libs/gltfio/src/ArchiveCache.cpp b/libs/gltfio/src/ArchiveCache.cpp index c71065263a..18280b01b7 100644 --- a/libs/gltfio/src/ArchiveCache.cpp +++ b/libs/gltfio/src/ArchiveCache.cpp @@ -16,17 +16,31 @@ #include "ArchiveCache.h" +#include + +#include #include + +#include +#include +#include +#include +#include +#include #include +#include #include +#include +#include +#include + using namespace utils; using namespace filament::uberz; namespace filament::gltfio { - // Set this to a certain spec index to find out why it was deemed unsuitable. // To find the spec index of interest, try invoking uberz with the verbose flag. constexpr static int DEBUG_SPEC_INDEX = -1; @@ -60,6 +74,9 @@ void ArchiveCache::load(const void* archiveData, uint64_t archiveByteCount) { // This loops though all ubershaders and returns the first one that meets the given requirements. Material* ArchiveCache::getMaterial(const ArchiveRequirements& reqs) { assert_invariant(mArchive && "Please call load() before requesting any materials."); + if (mArchive == nullptr) { + return nullptr; + } for (uint64_t i = 0; i < mArchive->specsCount; ++i) { const ArchiveSpec& spec = mArchive->specs[i]; @@ -101,7 +118,7 @@ Material* ArchiveCache::getMaterial(const ArchiveRequirements& reqs) { // mesh doesn't have it, then this ubershader is not suitable. This occurs very rarely, so // it intentionally comes after the other suitability check. for (uint64_t j = 0; j < spec.flagsCount && specIsSuitable; ++j) { - ArchiveFlag& flag = spec.flags[j]; + ArchiveFlag const& flag = spec.flags[j]; if (UTILS_UNLIKELY(flag.value == ArchiveFeature::REQUIRED)) { // This allocates a new CString just to make a robin_map lookup, but this is rare // because almost none of our feature flags are REQUIRED. @@ -129,6 +146,7 @@ Material* ArchiveCache::getMaterial(const ArchiveRequirements& reqs) { Material* ArchiveCache::getDefaultMaterial() { assert_invariant(mArchive && "Please call load() before requesting any materials."); assert_invariant(!mMaterials.empty() && "Archive must have at least one material."); + if (!mArchive) return nullptr; if (mMaterials[0] == nullptr) { mMaterials[0] = Material::Builder() .package(mArchive->specs[0].package, mArchive->specs[0].packageByteCount) @@ -158,7 +176,7 @@ FeatureMap ArchiveCache::getFeatureMap(Material* material) const { } ArchiveCache::~ArchiveCache() { - assert_invariant(mMaterials.size() == 0 && + assert_invariant(mMaterials.empty() && "Please call destroyMaterials explicitly to ensure correct destruction order"); utils::aligned_free(mArchive); } diff --git a/libs/utils/include/utils/Allocator.h b/libs/utils/include/utils/Allocator.h index 3564a417b3..c726ac5ffe 100644 --- a/libs/utils/include/utils/Allocator.h +++ b/libs/utils/include/utils/Allocator.h @@ -17,7 +17,6 @@ #ifndef TNT_UTILS_ALLOCATOR_H #define TNT_UTILS_ALLOCATOR_H - #include #include #include @@ -30,6 +29,7 @@ #include #include +#include namespace utils { diff --git a/libs/utils/include/utils/BitmaskEnum.h b/libs/utils/include/utils/BitmaskEnum.h index 56354956c5..17f94d215b 100644 --- a/libs/utils/include/utils/BitmaskEnum.h +++ b/libs/utils/include/utils/BitmaskEnum.h @@ -17,13 +17,10 @@ #ifndef TNT_UTILS_BITMASKENUM_H #define TNT_UTILS_BITMASKENUM_H -#include - #include // for std::false_type #include #include -#include namespace utils { diff --git a/libs/utils/include/utils/CString.h b/libs/utils/include/utils/CString.h index 4f91f3cc3a..d5b7695106 100644 --- a/libs/utils/include/utils/CString.h +++ b/libs/utils/include/utils/CString.h @@ -192,8 +192,8 @@ private: }; int compare(const CString& rhs) const noexcept { - size_type lhs_size = size(); - size_type rhs_size = rhs.size(); + size_type const lhs_size = size(); + size_type const rhs_size = rhs.size(); if (lhs_size < rhs_size) return -1; if (lhs_size > rhs_size) return 1; return strncmp(data(), rhs.data(), size()); diff --git a/libs/utils/include/utils/CallStack.h b/libs/utils/include/utils/CallStack.h index 291a748ce4..33ac0b504f 100644 --- a/libs/utils/include/utils/CallStack.h +++ b/libs/utils/include/utils/CallStack.h @@ -22,7 +22,8 @@ #include #include -#include +#include +#include namespace utils { diff --git a/libs/utils/include/utils/CountDownLatch.h b/libs/utils/include/utils/CountDownLatch.h index 6367fffc7b..62c3110f04 100644 --- a/libs/utils/include/utils/CountDownLatch.h +++ b/libs/utils/include/utils/CountDownLatch.h @@ -17,12 +17,13 @@ #ifndef TNT_UTILS_COUNTDOWNLATCH_H #define TNT_UTILS_COUNTDOWNLATCH_H -#include - // note: we use our version of mutex/condition to keep this public header STL free #include #include +#include +#include + namespace utils { /** diff --git a/libs/utils/include/utils/EntityInstance.h b/libs/utils/include/utils/EntityInstance.h index b164ed3fb2..75419493fe 100644 --- a/libs/utils/include/utils/EntityInstance.h +++ b/libs/utils/include/utils/EntityInstance.h @@ -23,7 +23,6 @@ #include - namespace utils { class UTILS_PUBLIC EntityInstanceBase { @@ -77,7 +76,7 @@ public: // return a value for this Instance (mostly needed for debugging constexpr uint32_t asValue() const noexcept { return mInstance; } - // auto convert to Type so it can be used as an index + // auto convert to Type, so it can be used as an index constexpr operator Type() const noexcept { return mInstance; } // NOLINT(google-explicit-constructor) // conversion from Type so we can initialize from an index diff --git a/libs/utils/include/utils/EntityManager.h b/libs/utils/include/utils/EntityManager.h index 8fac30cc53..5e2eaa1b00 100644 --- a/libs/utils/include/utils/EntityManager.h +++ b/libs/utils/include/utils/EntityManager.h @@ -17,12 +17,13 @@ #ifndef TNT_UTILS_ENTITYMANAGER_H #define TNT_UTILS_ENTITYMANAGER_H -#include -#include - #include #include +#include +#include +#include + #ifndef FILAMENT_UTILS_TRACK_ENTITIES #define FILAMENT_UTILS_TRACK_ENTITIES false #endif diff --git a/libs/utils/include/utils/FixedCapacityVector.h b/libs/utils/include/utils/FixedCapacityVector.h index 540b42b21d..f399012485 100644 --- a/libs/utils/include/utils/FixedCapacityVector.h +++ b/libs/utils/include/utils/FixedCapacityVector.h @@ -17,16 +17,18 @@ #ifndef TNT_UTILS_FIXEDCAPACITYVECTOR_H #define TNT_UTILS_FIXEDCAPACITYVECTOR_H +#include #include #include #include +#include #include #include #include #include -#include // TODO: is this necessary? +#include #include #include diff --git a/libs/utils/include/utils/FixedCircularBuffer.h b/libs/utils/include/utils/FixedCircularBuffer.h index 5252b52606..dd3cb75a32 100644 --- a/libs/utils/include/utils/FixedCircularBuffer.h +++ b/libs/utils/include/utils/FixedCircularBuffer.h @@ -22,9 +22,10 @@ #include #include -#include #include +#include + namespace utils { template diff --git a/libs/utils/include/utils/Hash.h b/libs/utils/include/utils/Hash.h index cc61a4067b..c269bb7e83 100644 --- a/libs/utils/include/utils/Hash.h +++ b/libs/utils/include/utils/Hash.h @@ -18,10 +18,11 @@ #define TNT_UTILS_HASH_H #include // for std::hash +#include +#include #include #include -#include namespace utils::hash { @@ -59,7 +60,7 @@ inline uint32_t murmurSlow(const uint8_t* key, size_t byteCount, uint32_t seed) // The remainder is identical to murmur3() except an inner loop safely "reads" an entire word. uint32_t h = seed; - size_t i = wordCount; + size_t wc = wordCount; do { uint32_t k = 0; for (int i = 0; i < 4 && key < last; ++i, ++key) { @@ -72,7 +73,7 @@ inline uint32_t murmurSlow(const uint8_t* key, size_t byteCount, uint32_t seed) h ^= k; h = (h << 13u) | (h >> 19u); h = (h * 5u) + 0xe6546b64u; - } while (--i); + } while (--wc); h ^= wordCount; h ^= h >> 16u; h *= 0x85ebca6bu; diff --git a/libs/utils/include/utils/JobSystem.h b/libs/utils/include/utils/JobSystem.h index b3bf83e81a..670a74a8fe 100644 --- a/libs/utils/include/utils/JobSystem.h +++ b/libs/utils/include/utils/JobSystem.h @@ -17,15 +17,6 @@ #ifndef TNT_UTILS_JOBSYSTEM_H #define TNT_UTILS_JOBSYSTEM_H -#include - -#include -#include -#include -#include - -#include - #include #include #include @@ -34,8 +25,22 @@ #include #include #include +#include #include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + namespace utils { class JobSystem { diff --git a/libs/utils/include/utils/NameComponentManager.h b/libs/utils/include/utils/NameComponentManager.h index a161b56ad7..4ac7435a2b 100644 --- a/libs/utils/include/utils/NameComponentManager.h +++ b/libs/utils/include/utils/NameComponentManager.h @@ -24,7 +24,6 @@ #include #include -#include namespace utils { diff --git a/libs/utils/include/utils/Panic.h b/libs/utils/include/utils/Panic.h index df24cac238..b4ec032c81 100644 --- a/libs/utils/include/utils/Panic.h +++ b/libs/utils/include/utils/Panic.h @@ -17,11 +17,11 @@ #ifndef TNT_UTILS_PANIC_H #define TNT_UTILS_PANIC_H -#include - #include #include +#include + #ifdef __EXCEPTIONS # define UTILS_EXCEPTIONS 1 #else diff --git a/libs/utils/include/utils/PrivateImplementation.h b/libs/utils/include/utils/PrivateImplementation.h index 7cb510fae4..ee0ac48aa7 100644 --- a/libs/utils/include/utils/PrivateImplementation.h +++ b/libs/utils/include/utils/PrivateImplementation.h @@ -17,8 +17,6 @@ #ifndef UTILS_PRIVATEIMPLEMENTATION_H #define UTILS_PRIVATEIMPLEMENTATION_H -#include - #include namespace utils { diff --git a/libs/utils/include/utils/Profiler.h b/libs/utils/include/utils/Profiler.h index f41bd1e9a9..3de9a9b058 100644 --- a/libs/utils/include/utils/Profiler.h +++ b/libs/utils/include/utils/Profiler.h @@ -17,12 +17,14 @@ #ifndef TNT_UTILS_PROFILER_H #define TNT_UTILS_PROFILER_H +#include +#include // note: This is safe (only used inline) + #include +#include #include #include -#include // note: This is safe (only used inline) - #if defined(__linux__) # include # include @@ -82,6 +84,7 @@ public: class Counters { friend class Profiler; + uint64_t nr; uint64_t time_enabled; uint64_t time_running; diff --git a/libs/utils/include/utils/QuadTree.h b/libs/utils/include/utils/QuadTree.h index 14302d34e7..3578b5999c 100644 --- a/libs/utils/include/utils/QuadTree.h +++ b/libs/utils/include/utils/QuadTree.h @@ -17,7 +17,6 @@ #ifndef TNT_UTILS_QUADTREE_H #define TNT_UTILS_QUADTREE_H -#include #include #include diff --git a/libs/utils/include/utils/Range.h b/libs/utils/include/utils/Range.h index b8499d78ad..328ff98026 100644 --- a/libs/utils/include/utils/Range.h +++ b/libs/utils/include/utils/Range.h @@ -17,10 +17,10 @@ #ifndef TNT_UTILS_RANGE_H #define TNT_UTILS_RANGE_H -#include - #include +#include + namespace utils { template diff --git a/libs/utils/include/utils/RangeMap.h b/libs/utils/include/utils/RangeMap.h index 32b59f255a..3d69bec8ab 100644 --- a/libs/utils/include/utils/RangeMap.h +++ b/libs/utils/include/utils/RangeMap.h @@ -22,6 +22,9 @@ #include #include +#include + +#include namespace utils { diff --git a/libs/utils/include/utils/Stopwatch.h b/libs/utils/include/utils/Stopwatch.h index fcd3051232..37f54d0a08 100644 --- a/libs/utils/include/utils/Stopwatch.h +++ b/libs/utils/include/utils/Stopwatch.h @@ -18,11 +18,13 @@ #define TNT_UTILS_STOPWATCH_H #include +#include #include #include +#include -#include +#include namespace utils { diff --git a/libs/utils/include/utils/StructureOfArrays.h b/libs/utils/include/utils/StructureOfArrays.h index 497a0fefbd..a430958470 100644 --- a/libs/utils/include/utils/StructureOfArrays.h +++ b/libs/utils/include/utils/StructureOfArrays.h @@ -17,8 +17,10 @@ #ifndef TNT_UTILS_STRUCTUREOFARRAYS_H #define TNT_UTILS_STRUCTUREOFARRAYS_H +#include #include #include +#include #include #include @@ -555,7 +557,7 @@ private: } inline void resizeNoCheck(size_t needed) noexcept { - assert(mCapacity >= needed); + assert_invariant(mCapacity >= needed); if (needed < mSize) { // we shrink the arrays destroy_each(needed, mSize); diff --git a/libs/utils/include/utils/WorkStealingDequeue.h b/libs/utils/include/utils/WorkStealingDequeue.h index 73b1ce6ec7..9e737d0aa7 100644 --- a/libs/utils/include/utils/WorkStealingDequeue.h +++ b/libs/utils/include/utils/WorkStealingDequeue.h @@ -21,6 +21,7 @@ #include #include +#include namespace utils { diff --git a/libs/utils/include/utils/Zip2Iterator.h b/libs/utils/include/utils/Zip2Iterator.h index 7b9f552a5c..99eea52ecc 100644 --- a/libs/utils/include/utils/Zip2Iterator.h +++ b/libs/utils/include/utils/Zip2Iterator.h @@ -19,8 +19,9 @@ #include #include +#include -#include +#include namespace utils { diff --git a/libs/utils/include/utils/android/ThermalManager.h b/libs/utils/include/utils/android/ThermalManager.h index 6c303b04bb..fb951b3125 100644 --- a/libs/utils/include/utils/android/ThermalManager.h +++ b/libs/utils/include/utils/android/ThermalManager.h @@ -17,8 +17,6 @@ #ifndef TNT_UTILS_ANDROID_THERMALMANAGER_H #define TNT_UTILS_ANDROID_THERMALMANAGER_H -#include - #include struct AThermalManager; diff --git a/libs/utils/include/utils/generic/Condition.h b/libs/utils/include/utils/generic/Condition.h index accde2be9f..89e05251e3 100644 --- a/libs/utils/include/utils/generic/Condition.h +++ b/libs/utils/include/utils/generic/Condition.h @@ -19,6 +19,8 @@ #include +#include + namespace utils { class Condition : public std::condition_variable { diff --git a/libs/utils/include/utils/generic/ThermalManager.h b/libs/utils/include/utils/generic/ThermalManager.h index 2d0088e561..5d77ab5b61 100644 --- a/libs/utils/include/utils/generic/ThermalManager.h +++ b/libs/utils/include/utils/generic/ThermalManager.h @@ -17,8 +17,6 @@ #ifndef TNT_UTILS_GENERIC_THERMALMANAGER_H #define TNT_UTILS_GENERIC_THERMALMANAGER_H -#include - #include namespace utils { diff --git a/libs/utils/include/utils/linux/Mutex.h b/libs/utils/include/utils/linux/Mutex.h index 2dcc7ebc61..f548d53eff 100644 --- a/libs/utils/include/utils/linux/Mutex.h +++ b/libs/utils/include/utils/linux/Mutex.h @@ -17,9 +17,11 @@ #ifndef TNT_UTILS_LINUX_MUTEX_H #define TNT_UTILS_LINUX_MUTEX_H +#include + #include -#include +#include namespace utils { diff --git a/libs/utils/include/utils/string.h b/libs/utils/include/utils/string.h index 040044c05e..7823260b91 100644 --- a/libs/utils/include/utils/string.h +++ b/libs/utils/include/utils/string.h @@ -17,8 +17,6 @@ #ifndef TNT_UTILS_STRING_H #define TNT_UTILS_STRING_H -#include - namespace utils { float strtof_c(const char* start, char** end); diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp index bba8e631e4..cedc99fd51 100644 --- a/samples/gltf_viewer.cpp +++ b/samples/gltf_viewer.cpp @@ -46,6 +46,7 @@ #include #include +#include #include #include