diff --git a/rpcs3/Emu/Memory/vm_ptr.h b/rpcs3/Emu/Memory/vm_ptr.h index 2135be0b4d..a12a2b756d 100644 --- a/rpcs3/Emu/Memory/vm_ptr.h +++ b/rpcs3/Emu/Memory/vm_ptr.h @@ -29,7 +29,7 @@ namespace vm using type = T; using addr_type = std::remove_cv_t; - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; _ptr_base() = default; @@ -228,7 +228,7 @@ namespace vm public: using addr_type = std::remove_cv_t; - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; _ptr_base() = default; diff --git a/rpcs3/Emu/Memory/vm_var.h b/rpcs3/Emu/Memory/vm_var.h index 267e8a475f..f31c1b8782 100644 --- a/rpcs3/Emu/Memory/vm_var.h +++ b/rpcs3/Emu/Memory/vm_var.h @@ -46,7 +46,7 @@ namespace vm _var_base& operator=(const _var_base&) = delete; - static constexpr bool enable_bitcopy = false; + using enable_bitcopy = std::false_type; // Disable bitcopy inheritence _var_base() : pointer(A::alloc(sizeof(T), alignof(T))) @@ -81,7 +81,7 @@ namespace vm _var_base& operator=(const _var_base&) = delete; - static constexpr bool enable_bitcopy = false; + using enable_bitcopy = std::false_type; // Disable bitcopy inheritence _var_base(u32 count) : pointer(A::alloc(u32{sizeof(T)} * count, alignof(T))) diff --git a/rpcs3/Emu/RSX/Capture/rsx_replay.h b/rpcs3/Emu/RSX/Capture/rsx_replay.h index 8049f5b6df..8fe5053c66 100644 --- a/rpcs3/Emu/RSX/Capture/rsx_replay.h +++ b/rpcs3/Emu/RSX/Capture/rsx_replay.h @@ -24,7 +24,7 @@ namespace rsx // simple block to hold ps3 address and data struct memory_block { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; u32 offset; // Offset in rsx address space u32 location; // rsx memory location of the block @@ -41,7 +41,7 @@ namespace rsx struct tile_info { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; u32 tile; u32 limit; @@ -51,7 +51,7 @@ namespace rsx struct zcull_info { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; u32 region; u32 size; @@ -64,7 +64,7 @@ namespace rsx // bleh, may need to break these out, might be unnecessary to do both always struct tile_state { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; tile_info tiles[15]{}; zcull_info zculls[8]{}; @@ -72,7 +72,7 @@ namespace rsx struct buffer_state { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; u32 width{0}; u32 height{0}; @@ -82,7 +82,7 @@ namespace rsx struct display_buffers_state { - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; std::array buffers{}; u32 count{0}; diff --git a/rpcs3/util/atomic.hpp b/rpcs3/util/atomic.hpp index 6a11819cd8..0f60a549d6 100644 --- a/rpcs3/util/atomic.hpp +++ b/rpcs3/util/atomic.hpp @@ -1112,7 +1112,7 @@ protected: public: static constexpr usz align = Align; - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; atomic_t() noexcept = default; diff --git a/rpcs3/util/endian.hpp b/rpcs3/util/endian.hpp index 889a7c1f8f..fab5fdc78a 100644 --- a/rpcs3/util/endian.hpp +++ b/rpcs3/util/endian.hpp @@ -180,7 +180,7 @@ namespace stx using under = decltype(int_or_enum()); public: - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; se_t() noexcept = default; diff --git a/rpcs3/util/serialization.hpp b/rpcs3/util/serialization.hpp index 2f6d63c555..9feec519a6 100644 --- a/rpcs3/util/serialization.hpp +++ b/rpcs3/util/serialization.hpp @@ -33,9 +33,9 @@ namespace utils }; template - concept Bitcopy = (std::is_arithmetic_v) || (std::is_enum_v) || Integral || requires (T& obj) + concept Bitcopy = (std::is_arithmetic_v) || (std::is_enum_v) || Integral || requires () { - std::enable_if_t(std::remove_cv_t::enable_bitcopy)>(); + std::enable_if_t>(); }; template diff --git a/rpcs3/util/v128.hpp b/rpcs3/util/v128.hpp index 92def16ae3..4273d8f3d2 100644 --- a/rpcs3/util/v128.hpp +++ b/rpcs3/util/v128.hpp @@ -92,7 +92,7 @@ union alignas(16) v128 __m128d vd; #endif - static constexpr bool enable_bitcopy = true; + using enable_bitcopy = std::true_type; static v128 from64(u64 _0, u64 _1 = 0) {