diff options
Diffstat (limited to 'src/shader_recompiler')
| -rw-r--r-- | src/shader_recompiler/object_pool.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/shader_recompiler/object_pool.h b/src/shader_recompiler/object_pool.h index c10751b9d..424281634 100644 --- a/src/shader_recompiler/object_pool.h +++ b/src/shader_recompiler/object_pool.h | |||
| @@ -18,7 +18,7 @@ public: | |||
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | template <typename... Args> | 20 | template <typename... Args> |
| 21 | requires std::is_constructible_v<T, Args...>[[nodiscard]] T* Create(Args&&... args) { | 21 | requires std::is_constructible_v<T, Args...> [[nodiscard]] T* Create(Args&&... args) { |
| 22 | return std::construct_at(Memory(), std::forward<Args>(args)...); | 22 | return std::construct_at(Memory(), std::forward<Args>(args)...); |
| 23 | } | 23 | } |
| 24 | 24 | ||
| @@ -32,12 +32,12 @@ public: | |||
| 32 | const size_t total_objects{root.num_objects + new_chunk_size * (chunks.size() - 1)}; | 32 | const size_t total_objects{root.num_objects + new_chunk_size * (chunks.size() - 1)}; |
| 33 | chunks.clear(); | 33 | chunks.clear(); |
| 34 | chunks.emplace_back(total_objects); | 34 | chunks.emplace_back(total_objects); |
| 35 | chunks.shrink_to_fit(); | ||
| 36 | } else { | 35 | } else { |
| 37 | root.Release(); | 36 | root.Release(); |
| 38 | chunks.resize(1); | 37 | chunks.resize(1); |
| 39 | chunks.shrink_to_fit(); | ||
| 40 | } | 38 | } |
| 39 | chunks.shrink_to_fit(); | ||
| 40 | node = &chunks.front(); | ||
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | private: | 43 | private: |