aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/audio_core/audio_event.cpp5
-rw-r--r--src/audio_core/common/feature_support.h2
-rw-r--r--src/audio_core/renderer/command/effect/i3dl2_reverb.cpp2
-rw-r--r--src/audio_core/renderer/command/effect/reverb.cpp2
-rw-r--r--src/audio_core/renderer/mix/mix_context.cpp2
-rw-r--r--src/audio_core/renderer/voice/voice_context.cpp5
-rw-r--r--src/common/fs/fs_util.cpp5
-rw-r--r--src/common/polyfill_ranges.h530
-rw-r--r--src/common/slot_vector.h2
-rw-r--r--src/core/file_sys/content_archive.cpp2
-rw-r--r--src/core/hle/kernel/k_thread_local_page.h5
-rw-r--r--src/core/hle/service/acc/acc.cpp2
-rw-r--r--src/core/hle/service/acc/profile_manager.cpp2
-rw-r--r--src/core/internal_network/network_interface.cpp2
-rw-r--r--src/hid_core/frontend/emulated_controller.cpp2
-rw-r--r--src/input_common/drivers/joycon.cpp5
-rw-r--r--src/shader_recompiler/frontend/ir/opcodes.h5
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.cpp5
-rw-r--r--src/shader_recompiler/frontend/maxwell/decode.cpp2
-rw-r--r--src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp5
-rw-r--r--src/video_core/engines/maxwell_dma.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_device.cpp5
-rw-r--r--src/video_core/renderer_vulkan/fixed_pipeline_state.cpp5
-rw-r--r--src/video_core/renderer_vulkan/present/smaa.cpp5
-rw-r--r--src/video_core/renderer_vulkan/present/util.cpp2
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_descriptor_pool.cpp5
-rw-r--r--src/video_core/renderer_vulkan/vk_master_semaphore.cpp2
-rw-r--r--src/video_core/renderer_vulkan/vk_swapchain.cpp2
-rw-r--r--src/video_core/shader_cache.h5
-rw-r--r--src/video_core/shader_environment.cpp2
-rw-r--r--src/video_core/texture_cache/formatter.cpp2
-rw-r--r--src/video_core/texture_cache/texture_cache_base.h2
-rw-r--r--src/video_core/textures/astc.cpp2
-rw-r--r--src/video_core/transform_feedback.cpp2
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp2
-rw-r--r--src/video_core/vulkan_common/vulkan_instance.cpp5
-rw-r--r--src/video_core/vulkan_common/vulkan_memory_allocator.cpp2
38 files changed, 79 insertions, 567 deletions
diff --git a/src/audio_core/audio_event.cpp b/src/audio_core/audio_event.cpp
index c23ef09900..afd69e7842 100644
--- a/src/audio_core/audio_event.cpp
+++ b/src/audio_core/audio_event.cpp
@@ -1,9 +1,12 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "audio_core/audio_event.h"
#include "common/assert.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore {
diff --git a/src/audio_core/common/feature_support.h b/src/audio_core/common/feature_support.h
index 39d50746b8..91d6991416 100644
--- a/src/audio_core/common/feature_support.h
+++ b/src/audio_core/common/feature_support.h
@@ -13,7 +13,7 @@
#include "common/assert.h"
#include "common/common_funcs.h"
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore {
constexpr u32 CurrentRevision = 16;
diff --git a/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp b/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
index 6c3dd7986a..be5e36d2ae 100644
--- a/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
+++ b/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
@@ -8,7 +8,7 @@
#include "audio_core/adsp/apps/audio_renderer/command_list_processor.h"
#include "audio_core/renderer/command/effect/i3dl2_reverb.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore::Renderer {
diff --git a/src/audio_core/renderer/command/effect/reverb.cpp b/src/audio_core/renderer/command/effect/reverb.cpp
index cc61cd6ad6..46b85b8945 100644
--- a/src/audio_core/renderer/command/effect/reverb.cpp
+++ b/src/audio_core/renderer/command/effect/reverb.cpp
@@ -9,7 +9,7 @@
#include "audio_core/adsp/apps/audio_renderer/command_list_processor.h"
#include "audio_core/renderer/command/effect/reverb.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore::Renderer {
diff --git a/src/audio_core/renderer/mix/mix_context.cpp b/src/audio_core/renderer/mix/mix_context.cpp
index 0253556eb8..9333a29492 100644
--- a/src/audio_core/renderer/mix/mix_context.cpp
+++ b/src/audio_core/renderer/mix/mix_context.cpp
@@ -8,7 +8,7 @@
#include "audio_core/renderer/mix/mix_context.h"
#include "audio_core/renderer/splitter/splitter_context.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore::Renderer {
diff --git a/src/audio_core/renderer/voice/voice_context.cpp b/src/audio_core/renderer/voice/voice_context.cpp
index c3644e38b2..c9b4d57fdb 100644
--- a/src/audio_core/renderer/voice/voice_context.cpp
+++ b/src/audio_core/renderer/voice/voice_context.cpp
@@ -1,10 +1,13 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <ranges>
#include "audio_core/renderer/voice/voice_context.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace AudioCore::Renderer {
diff --git a/src/common/fs/fs_util.cpp b/src/common/fs/fs_util.cpp
index 813a713c3b..847fedec54 100644
--- a/src/common/fs/fs_util.cpp
+++ b/src/common/fs/fs_util.cpp
@@ -1,10 +1,13 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <algorithm>
#include "common/fs/fs_util.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace Common::FS {
diff --git a/src/common/polyfill_ranges.h b/src/common/polyfill_ranges.h
deleted file mode 100644
index 512dbcbcb7..0000000000
--- a/src/common/polyfill_ranges.h
+++ /dev/null
@@ -1,530 +0,0 @@
-// SPDX-FileCopyrightText: 2022 yuzu Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-//
-// TODO: remove this file when ranges are supported by all compilation targets
-//
-
-#pragma once
-
-#include <algorithm>
-#include <utility>
-#include <version>
-
-#ifndef __cpp_lib_ranges
-
-namespace std {
-namespace ranges {
-
-template <typename T>
-concept range = requires(T& t) {
- begin(t);
- end(t);
- };
-
-template <typename T>
-concept input_range = range<T>;
-
-template <typename T>
-concept output_range = range<T>;
-
-template <range R>
-using range_difference_t = ptrdiff_t;
-
-//
-// find, find_if, find_if_not
-//
-
-struct find_fn {
- template <typename Iterator, typename T, typename Proj = std::identity>
- constexpr Iterator operator()(Iterator first, Iterator last, const T& value,
- Proj proj = {}) const {
- for (; first != last; ++first) {
- if (std::invoke(proj, *first) == value) {
- return first;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename T, typename Proj = std::identity>
- constexpr ranges::iterator_t<R> operator()(R&& r, const T& value, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), value, std::ref(proj));
- }
-};
-
-struct find_if_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr Iterator operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- for (; first != last; ++first) {
- if (std::invoke(pred, std::invoke(proj, *first))) {
- return first;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr ranges::iterator_t<R> operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-struct find_if_not_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr Iterator operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- for (; first != last; ++first) {
- if (!std::invoke(pred, std::invoke(proj, *first))) {
- return first;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr ranges::iterator_t<R> operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-inline constexpr find_fn find;
-inline constexpr find_if_fn find_if;
-inline constexpr find_if_not_fn find_if_not;
-
-//
-// any_of, all_of, none_of
-//
-
-struct all_of_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- return ranges::find_if_not(first, last, std::ref(pred), std::ref(proj)) == last;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-struct any_of_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- return ranges::find_if(first, last, std::ref(pred), std::ref(proj)) != last;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-struct none_of_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- return ranges::find_if(first, last, std::ref(pred), std::ref(proj)) == last;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr bool operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-inline constexpr any_of_fn any_of;
-inline constexpr all_of_fn all_of;
-inline constexpr none_of_fn none_of;
-
-//
-// count, count_if
-//
-
-struct count_fn {
- template <typename Iterator, typename T, typename Proj = std::identity>
- constexpr ptrdiff_t operator()(Iterator first, Iterator last, const T& value,
- Proj proj = {}) const {
- ptrdiff_t counter = 0;
- for (; first != last; ++first)
- if (std::invoke(proj, *first) == value)
- ++counter;
- return counter;
- }
-
- template <ranges::input_range R, typename T, typename Proj = std::identity>
- constexpr ptrdiff_t operator()(R&& r, const T& value, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), value, std::ref(proj));
- }
-};
-
-struct count_if_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred>
- constexpr ptrdiff_t operator()(Iterator first, Iterator last, Pred pred, Proj proj = {}) const {
- ptrdiff_t counter = 0;
- for (; first != last; ++first)
- if (std::invoke(pred, std::invoke(proj, *first)))
- ++counter;
- return counter;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Pred>
- constexpr ptrdiff_t operator()(R&& r, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-inline constexpr count_fn count;
-inline constexpr count_if_fn count_if;
-
-//
-// transform
-//
-
-struct transform_fn {
- template <typename InputIterator, typename OutputIterator, typename F,
- typename Proj = std::identity>
- constexpr void operator()(InputIterator first1, InputIterator last1, OutputIterator result,
- F op, Proj proj = {}) const {
- for (; first1 != last1; ++first1, (void)++result) {
- *result = std::invoke(op, std::invoke(proj, *first1));
- }
- }
-
- template <ranges::input_range R, typename OutputIterator, typename F,
- typename Proj = std::identity>
- constexpr void operator()(R&& r, OutputIterator result, F op, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), result, std::ref(op), std::ref(proj));
- }
-};
-
-inline constexpr transform_fn transform;
-
-//
-// sort
-//
-
-struct sort_fn {
- template <typename Iterator, typename Comp = ranges::less, typename Proj = std::identity>
- constexpr void operator()(Iterator first, Iterator last, Comp comp = {}, Proj proj = {}) const {
- if (first == last)
- return;
-
- Iterator last_iter = ranges::next(first, last);
- std::sort(first, last_iter,
- [&](auto& lhs, auto& rhs) { return comp(proj(lhs), proj(rhs)); });
- }
-
- template <ranges::input_range R, typename Comp = ranges::less, typename Proj = std::identity>
- constexpr void operator()(R&& r, Comp comp = {}, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(comp), std::move(proj));
- }
-};
-
-inline constexpr sort_fn sort;
-
-//
-// fill
-//
-
-struct fill_fn {
- template <typename T, typename OutputIterator>
- constexpr OutputIterator operator()(OutputIterator first, OutputIterator last,
- const T& value) const {
- while (first != last) {
- *first++ = value;
- }
-
- return first;
- }
-
- template <typename T, ranges::output_range R>
- constexpr ranges::iterator_t<R> operator()(R&& r, const T& value) const {
- return operator()(ranges::begin(r), ranges::end(r), value);
- }
-};
-
-inline constexpr fill_fn fill;
-
-//
-// for_each
-//
-
-struct for_each_fn {
- template <typename Iterator, typename Proj = std::identity, typename Fun>
- constexpr void operator()(Iterator first, Iterator last, Fun f, Proj proj = {}) const {
- for (; first != last; ++first) {
- std::invoke(f, std::invoke(proj, *first));
- }
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Fun>
- constexpr void operator()(R&& r, Fun f, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(f), std::ref(proj));
- }
-};
-
-inline constexpr for_each_fn for_each;
-
-//
-// min_element, max_element
-//
-
-struct min_element_fn {
- template <typename Iterator, typename Proj = std::identity, typename Comp = ranges::less>
- constexpr Iterator operator()(Iterator first, Iterator last, Comp comp = {},
- Proj proj = {}) const {
- if (first == last) {
- return last;
- }
-
- auto smallest = first;
- ++first;
- for (; first != last; ++first) {
- if (!std::invoke(comp, std::invoke(proj, *smallest), std::invoke(proj, *first))) {
- smallest = first;
- }
- }
- return smallest;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Comp = ranges::less>
- constexpr ranges::iterator_t<R> operator()(R&& r, Comp comp = {}, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(comp), std::ref(proj));
- }
-};
-
-struct max_element_fn {
- template <typename Iterator, typename Proj = std::identity, typename Comp = ranges::less>
- constexpr Iterator operator()(Iterator first, Iterator last, Comp comp = {},
- Proj proj = {}) const {
- if (first == last) {
- return last;
- }
-
- auto largest = first;
- ++first;
- for (; first != last; ++first) {
- if (std::invoke(comp, std::invoke(proj, *largest), std::invoke(proj, *first))) {
- largest = first;
- }
- }
- return largest;
- }
-
- template <ranges::input_range R, typename Proj = std::identity, typename Comp = ranges::less>
- constexpr ranges::iterator_t<R> operator()(R&& r, Comp comp = {}, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(comp), std::ref(proj));
- }
-};
-
-inline constexpr min_element_fn min_element;
-inline constexpr max_element_fn max_element;
-
-//
-// replace, replace_if
-//
-
-struct replace_fn {
- template <typename Iterator, typename T1, typename T2, typename Proj = std::identity>
- constexpr Iterator operator()(Iterator first, Iterator last, const T1& old_value,
- const T2& new_value, Proj proj = {}) const {
- for (; first != last; ++first) {
- if (old_value == std::invoke(proj, *first)) {
- *first = new_value;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename T1, typename T2, typename Proj = std::identity>
- constexpr ranges::iterator_t<R> operator()(R&& r, const T1& old_value, const T2& new_value,
- Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), old_value, new_value, std::move(proj));
- }
-};
-
-struct replace_if_fn {
- template <typename Iterator, typename T, typename Proj = std::identity, typename Pred>
- constexpr Iterator operator()(Iterator first, Iterator last, Pred pred, const T& new_value,
- Proj proj = {}) const {
- for (; first != last; ++first) {
- if (!!std::invoke(pred, std::invoke(proj, *first))) {
- *first = new_value;
- }
- }
- return std::move(first);
- }
-
- template <ranges::input_range R, typename T, typename Proj = std::identity, typename Pred>
- constexpr ranges::iterator_t<R> operator()(R&& r, Pred pred, const T& new_value,
- Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(pred), new_value,
- std::move(proj));
- }
-};
-
-inline constexpr replace_fn replace;
-inline constexpr replace_if_fn replace_if;
-
-//
-// copy, copy_if
-//
-
-struct copy_fn {
- template <typename InputIterator, typename OutputIterator>
- constexpr void operator()(InputIterator first, InputIterator last,
- OutputIterator result) const {
- for (; first != last; ++first, (void)++result) {
- *result = *first;
- }
- }
-
- template <ranges::input_range R, typename OutputIterator>
- constexpr void operator()(R&& r, OutputIterator result) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(result));
- }
-};
-
-struct copy_if_fn {
- template <typename InputIterator, typename OutputIterator, typename Proj = std::identity,
- typename Pred>
- constexpr void operator()(InputIterator first, InputIterator last, OutputIterator result,
- Pred pred, Proj proj = {}) const {
- for (; first != last; ++first) {
- if (std::invoke(pred, std::invoke(proj, *first))) {
- *result = *first;
- ++result;
- }
- }
- }
-
- template <ranges::input_range R, typename OutputIterator, typename Proj = std::identity,
- typename Pred>
- constexpr void operator()(R&& r, OutputIterator result, Pred pred, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(result), std::ref(pred),
- std::ref(proj));
- }
-};
-
-inline constexpr copy_fn copy;
-inline constexpr copy_if_fn copy_if;
-
-//
-// generate
-//
-
-struct generate_fn {
- template <typename Iterator, typename F>
- constexpr Iterator operator()(Iterator first, Iterator last, F gen) const {
- for (; first != last; *first = std::invoke(gen), ++first)
- ;
- return first;
- }
-
- template <typename R, std::copy_constructible F>
- requires std::invocable<F&> && ranges::output_range<R>
- constexpr ranges::iterator_t<R> operator()(R&& r, F gen) const {
- return operator()(ranges::begin(r), ranges::end(r), std::move(gen));
- }
-};
-
-inline constexpr generate_fn generate;
-
-//
-// lower_bound, upper_bound
-//
-
-struct lower_bound_fn {
- template <typename Iterator, typename T, typename Proj = std::identity,
- typename Comp = ranges::less>
- constexpr Iterator operator()(Iterator first, Iterator last, const T& value, Comp comp = {},
- Proj proj = {}) const {
- Iterator it;
- std::ptrdiff_t _count, _step;
- _count = std::distance(first, last);
-
- while (_count > 0) {
- it = first;
- _step = _count / 2;
- ranges::advance(it, _step, last);
- if (comp(std::invoke(proj, *it), value)) {
- first = ++it;
- _count -= _step + 1;
- } else {
- _count = _step;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename T, typename Proj = std::identity,
- typename Comp = ranges::less>
- constexpr ranges::iterator_t<R> operator()(R&& r, const T& value, Comp comp = {},
- Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), value, std::ref(comp), std::ref(proj));
- }
-};
-
-struct upper_bound_fn {
- template <typename Iterator, typename T, typename Proj = std::identity,
- typename Comp = ranges::less>
- constexpr Iterator operator()(Iterator first, Iterator last, const T& value, Comp comp = {},
- Proj proj = {}) const {
- Iterator it;
- std::ptrdiff_t _count, _step;
- _count = std::distance(first, last);
-
- while (_count > 0) {
- it = first;
- _step = _count / 2;
- ranges::advance(it, _step, last);
- if (!comp(value, std::invoke(proj, *it))) {
- first = ++it;
- _count -= _step + 1;
- } else {
- _count = _step;
- }
- }
- return first;
- }
-
- template <ranges::input_range R, typename T, typename Proj = std::identity,
- typename Comp = ranges::less>
- constexpr ranges::iterator_t<R> operator()(R&& r, const T& value, Comp comp = {},
- Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), value, std::ref(comp), std::ref(proj));
- }
-};
-
-inline constexpr lower_bound_fn lower_bound;
-inline constexpr upper_bound_fn upper_bound;
-
-//
-// adjacent_find
-//
-
-struct adjacent_find_fn {
- template <typename Iterator, typename Proj = std::identity, typename Pred = ranges::equal_to>
- constexpr Iterator operator()(Iterator first, Iterator last, Pred pred = {},
- Proj proj = {}) const {
- if (first == last)
- return first;
- auto _next = ranges::next(first);
- for (; _next != last; ++_next, ++first)
- if (std::invoke(pred, std::invoke(proj, *first), std::invoke(proj, *_next)))
- return first;
- return _next;
- }
-
- template <ranges::input_range R, typename Proj = std::identity,
- typename Pred = ranges::equal_to>
- constexpr ranges::iterator_t<R> operator()(R&& r, Pred pred = {}, Proj proj = {}) const {
- return operator()(ranges::begin(r), ranges::end(r), std::ref(pred), std::ref(proj));
- }
-};
-
-inline constexpr adjacent_find_fn adjacent_find;
-
-} // namespace ranges
-} // namespace std
-
-#endif
diff --git a/src/common/slot_vector.h b/src/common/slot_vector.h
index 3fabec9852..01c65306c8 100644
--- a/src/common/slot_vector.h
+++ b/src/common/slot_vector.h
@@ -15,7 +15,7 @@
#include "common/assert.h"
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
namespace Common {
diff --git a/src/core/file_sys/content_archive.cpp b/src/core/file_sys/content_archive.cpp
index 6c413c2dfb..edd25644ac 100644
--- a/src/core/file_sys/content_archive.cpp
+++ b/src/core/file_sys/content_archive.cpp
@@ -10,7 +10,7 @@
#include <utility>
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "core/crypto/aes_util.h"
#include "core/crypto/ctr_encryption_layer.h"
#include "core/crypto/key_manager.h"
diff --git a/src/core/hle/kernel/k_thread_local_page.h b/src/core/hle/kernel/k_thread_local_page.h
index 813f32a7ef..2d438ceb1f 100644
--- a/src/core/hle/kernel/k_thread_local_page.h
+++ b/src/core/hle/kernel/k_thread_local_page.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +13,7 @@
#include "common/assert.h"
#include "common/common_types.h"
#include "common/intrusive_red_black_tree.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "core/hle/kernel/memory_types.h"
#include "core/hle/kernel/slab_helpers.h"
#include "core/hle/result.h"
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp
index 73f54f89b2..b5cf1c27ac 100644
--- a/src/core/hle/service/acc/acc.cpp
+++ b/src/core/hle/service/acc/acc.cpp
@@ -11,7 +11,7 @@
#include "common/fs/file.h"
#include "common/fs/path_util.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/stb.h"
#include "common/string_util.h"
#include "common/swap.h"
diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp
index 71bf89f43f..a4394046fa 100644
--- a/src/core/hle/service/acc/profile_manager.cpp
+++ b/src/core/hle/service/acc/profile_manager.cpp
@@ -12,7 +12,7 @@
#include "common/fs/file.h"
#include "common/fs/fs.h"
#include "common/fs/path_util.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "common/string_util.h"
#include "core/hle/service/acc/profile_manager.h"
diff --git a/src/core/internal_network/network_interface.cpp b/src/core/internal_network/network_interface.cpp
index ae9755113a..7be9434afe 100644
--- a/src/core/internal_network/network_interface.cpp
+++ b/src/core/internal_network/network_interface.cpp
@@ -9,7 +9,7 @@
#include "common/bit_cast.h"
#include "common/common_types.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "common/string_util.h"
#include "core/internal_network/emu_net_state.h"
diff --git a/src/hid_core/frontend/emulated_controller.cpp b/src/hid_core/frontend/emulated_controller.cpp
index e2925c0265..90d689f6da 100644
--- a/src/hid_core/frontend/emulated_controller.cpp
+++ b/src/hid_core/frontend/emulated_controller.cpp
@@ -8,7 +8,7 @@
#include <chrono>
#include <common/scope_exit.h>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/thread.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/frontend/input_converter.h"
diff --git a/src/input_common/drivers/joycon.cpp b/src/input_common/drivers/joycon.cpp
index 43f3d6078e..fb2d75e384 100644
--- a/src/input_common/drivers/joycon.cpp
+++ b/src/input_common/drivers/joycon.cpp
@@ -1,10 +1,13 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <fmt/ranges.h>
#include "common/param_package.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/polyfill_thread.h"
#include "common/settings.h"
#include "common/thread.h"
diff --git a/src/shader_recompiler/frontend/ir/opcodes.h b/src/shader_recompiler/frontend/ir/opcodes.h
index 3376daf128..3d6a3539bb 100644
--- a/src/shader_recompiler/frontend/ir/opcodes.h
+++ b/src/shader_recompiler/frontend/ir/opcodes.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +11,7 @@
#include <fmt/ranges.h>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/frontend/ir/type.h"
namespace Shader::IR {
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.cpp b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
index a2ad56cc49..7dabfbf16e 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +12,7 @@
#include <fmt/ranges.h>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/exception.h"
#include "shader_recompiler/frontend/maxwell/control_flow.h"
#include "shader_recompiler/frontend/maxwell/decode.h"
diff --git a/src/shader_recompiler/frontend/maxwell/decode.cpp b/src/shader_recompiler/frontend/maxwell/decode.cpp
index 5afe8cbb14..601dcfdfa8 100644
--- a/src/shader_recompiler/frontend/maxwell/decode.cpp
+++ b/src/shader_recompiler/frontend/maxwell/decode.cpp
@@ -9,7 +9,7 @@
#include <memory>
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/exception.h"
#include "shader_recompiler/frontend/maxwell/decode.h"
#include "shader_recompiler/frontend/maxwell/opcodes.h"
diff --git a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
index 3c18f49982..b5e1e70b4c 100644
--- a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -12,7 +15,7 @@
#include <boost/intrusive/list.hpp>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/environment.h"
#include "shader_recompiler/frontend/ir/basic_block.h"
#include "shader_recompiler/frontend/ir/ir_emitter.h"
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp
index 73a62db37d..1a8a7c8dce 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -7,7 +7,7 @@
#include "common/algorithm.h"
#include "common/assert.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "core/core.h"
#include "video_core/engines/maxwell_3d.h"
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp
index 3cb7529a64..f3d884f0eb 100644
--- a/src/video_core/renderer_opengl/gl_device.cpp
+++ b/src/video_core/renderer_opengl/gl_device.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -14,7 +17,7 @@
#include "common/literals.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "shader_recompiler/stage.h"
#include "video_core/renderer_opengl/gl_device.h"
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp
index 39f4fc6993..7cb8acec89 100644
--- a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp
+++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +10,7 @@
#include "common/bit_cast.h"
#include "common/cityhash.h"
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/engines/draw_manager.h"
#include "video_core/renderer_vulkan/fixed_pipeline_state.h"
#include "video_core/renderer_vulkan/vk_state_tracker.h"
diff --git a/src/video_core/renderer_vulkan/present/smaa.cpp b/src/video_core/renderer_vulkan/present/smaa.cpp
index 39645fd1d7..686112f2f0 100644
--- a/src/video_core/renderer_vulkan/present/smaa.cpp
+++ b/src/video_core/renderer_vulkan/present/smaa.cpp
@@ -1,10 +1,13 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <list>
#include "common/assert.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/renderer_vulkan/present/smaa.h"
#include "video_core/renderer_vulkan/present/util.h"
diff --git a/src/video_core/renderer_vulkan/present/util.cpp b/src/video_core/renderer_vulkan/present/util.cpp
index 07b6a41c5c..0b1a89eec0 100644
--- a/src/video_core/renderer_vulkan/present/util.cpp
+++ b/src/video_core/renderer_vulkan/present/util.cpp
@@ -5,7 +5,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/assert.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/renderer_vulkan/present/util.h"
namespace Vulkan {
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
index a91fba6725..6f3a0e4cd1 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
@@ -15,7 +15,7 @@
#include <fmt/ranges.h>
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/scope_exit.h"
#include "common/settings.h"
#include "core/core_timing.h"
diff --git a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
index 6048a301fa..600003953d 100644
--- a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
+++ b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +10,7 @@
#include <vector>
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/renderer_vulkan/vk_descriptor_pool.h"
#include "video_core/renderer_vulkan/vk_resource_pool.h"
#include "video_core/renderer_vulkan/vk_scheduler.h"
diff --git a/src/video_core/renderer_vulkan/vk_master_semaphore.cpp b/src/video_core/renderer_vulkan/vk_master_semaphore.cpp
index 4e5a2ff049..6761127582 100644
--- a/src/video_core/renderer_vulkan/vk_master_semaphore.cpp
+++ b/src/video_core/renderer_vulkan/vk_master_semaphore.cpp
@@ -6,7 +6,7 @@
#include <thread>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "video_core/renderer_vulkan/vk_master_semaphore.h"
#include "video_core/vulkan_common/vulkan_device.h"
diff --git a/src/video_core/renderer_vulkan/vk_swapchain.cpp b/src/video_core/renderer_vulkan/vk_swapchain.cpp
index 5a60ca5b26..3b35e28c05 100644
--- a/src/video_core/renderer_vulkan/vk_swapchain.cpp
+++ b/src/video_core/renderer_vulkan/vk_swapchain.cpp
@@ -10,7 +10,7 @@
#include <vector>
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "core/core.h"
#include "video_core/renderer_vulkan/vk_scheduler.h"
diff --git a/src/video_core/shader_cache.h b/src/video_core/shader_cache.h
index fd9bf2562e..18b5df3bbc 100644
--- a/src/video_core/shader_cache.h
+++ b/src/video_core/shader_cache.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -12,7 +15,7 @@
#include <vector>
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/control/channel_state_cache.h"
#include "video_core/host1x/gpu_device_memory_manager.h"
#include "video_core/rasterizer_interface.h"
diff --git a/src/video_core/shader_environment.cpp b/src/video_core/shader_environment.cpp
index 82af6ae1cb..28357bf10b 100644
--- a/src/video_core/shader_environment.cpp
+++ b/src/video_core/shader_environment.cpp
@@ -18,7 +18,7 @@
#include "common/fs/fs.h"
#include "common/fs/path_util.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/environment.h"
#include "video_core/engines/kepler_compute.h"
#include "video_core/memory_manager.h"
diff --git a/src/video_core/texture_cache/formatter.cpp b/src/video_core/texture_cache/formatter.cpp
index b48afee0c5..6e89864f45 100644
--- a/src/video_core/texture_cache/formatter.cpp
+++ b/src/video_core/texture_cache/formatter.cpp
@@ -7,7 +7,7 @@
#include <algorithm>
#include <string>
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/texture_cache/formatter.h"
#include "video_core/texture_cache/image_base.h"
#include "video_core/texture_cache/image_info.h"
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h
index 6210d63940..f7d22afde2 100644
--- a/src/video_core/texture_cache/texture_cache_base.h
+++ b/src/video_core/texture_cache/texture_cache_base.h
@@ -22,7 +22,7 @@
#include "common/hash.h"
#include "common/literals.h"
#include "common/lru_cache.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/scratch_buffer.h"
#include "common/slot_vector.h"
#include "common/thread_worker.h"
diff --git a/src/video_core/textures/astc.cpp b/src/video_core/textures/astc.cpp
index 9574593b18..b7b5f5bd4a 100644
--- a/src/video_core/textures/astc.cpp
+++ b/src/video_core/textures/astc.cpp
@@ -18,7 +18,7 @@
#include "common/alignment.h"
#include "common/common_types.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/textures/astc.h"
#include "video_core/textures/workers.h"
diff --git a/src/video_core/transform_feedback.cpp b/src/video_core/transform_feedback.cpp
index f1e20b9290..a8f9da9853 100644
--- a/src/video_core/transform_feedback.cpp
+++ b/src/video_core/transform_feedback.cpp
@@ -10,7 +10,7 @@
#include "common/alignment.h"
#include "common/assert.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "shader_recompiler/shader_info.h"
#include "video_core/transform_feedback.h"
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 41917a1b90..0e0bec2ce3 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -15,7 +15,7 @@
#include "common/assert.h"
#include "common/literals.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "common/settings.h"
#include "video_core/vulkan_common/nsight_aftermath_tracker.h"
#include "video_core/vulkan_common/vma.h"
diff --git a/src/video_core/vulkan_common/vulkan_instance.cpp b/src/video_core/vulkan_common/vulkan_instance.cpp
index 180657a75a..1948e0030a 100644
--- a/src/video_core/vulkan_common/vulkan_instance.cpp
+++ b/src/video_core/vulkan_common/vulkan_instance.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +12,7 @@
#include "common/common_types.h"
#include "common/dynamic_library.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "core/frontend/emu_window.h"
#include "video_core/vulkan_common/vulkan_instance.h"
#include "video_core/vulkan_common/vulkan_wrapper.h"
diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
index 119b4be1c8..f0309117bf 100644
--- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
+++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
@@ -17,7 +17,7 @@
#include "common/common_types.h"
#include "common/literals.h"
#include "common/logging/log.h"
-#include "common/polyfill_ranges.h"
+#include <ranges>
#include "video_core/vulkan_common/vma.h"
#include "video_core/vulkan_common/vulkan_device.h"
#include "video_core/vulkan_common/vulkan_memory_allocator.h"