mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-25 08:12:44 +01:00
Rebrand SUYU_NON_COPYABLE and SUYU_NON_MOVEABLE
This commit is contained in:
parent
16dfc39f89
commit
edf7a3be81
51 changed files with 200 additions and 200 deletions
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -109,11 +109,11 @@ __declspec(dllimport) void __stdcall DebugBreak(void);
|
||||||
return static_cast<T>(key) == 0; \
|
return static_cast<T>(key) == 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define YUZU_NON_COPYABLE(cls) \
|
#define SUYU_NON_COPYABLE(cls) \
|
||||||
cls(const cls&) = delete; \
|
cls(const cls&) = delete; \
|
||||||
cls& operator=(const cls&) = delete
|
cls& operator=(const cls&) = delete
|
||||||
|
|
||||||
#define YUZU_NON_MOVEABLE(cls) \
|
#define SUYU_NON_MOVEABLE(cls) \
|
||||||
cls(cls&&) = delete; \
|
cls(cls&&) = delete; \
|
||||||
cls& operator=(cls&&) = delete
|
cls& operator=(cls&&) = delete
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -16,7 +16,7 @@ class IntrusiveListImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
class IntrusiveListNode {
|
class IntrusiveListNode {
|
||||||
YUZU_NON_COPYABLE(IntrusiveListNode);
|
SUYU_NON_COPYABLE(IntrusiveListNode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class impl::IntrusiveListImpl;
|
friend class impl::IntrusiveListImpl;
|
||||||
|
@ -96,7 +96,7 @@ private:
|
||||||
namespace impl {
|
namespace impl {
|
||||||
|
|
||||||
class IntrusiveListImpl {
|
class IntrusiveListImpl {
|
||||||
YUZU_NON_COPYABLE(IntrusiveListImpl);
|
SUYU_NON_COPYABLE(IntrusiveListImpl);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
IntrusiveListNode m_root_node;
|
IntrusiveListNode m_root_node;
|
||||||
|
@ -302,7 +302,7 @@ private:
|
||||||
|
|
||||||
template <class T, class Traits>
|
template <class T, class Traits>
|
||||||
class IntrusiveList {
|
class IntrusiveList {
|
||||||
YUZU_NON_COPYABLE(IntrusiveList);
|
SUYU_NON_COPYABLE(IntrusiveList);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
impl::IntrusiveListImpl m_impl;
|
impl::IntrusiveListImpl m_impl;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -17,7 +17,7 @@ class IntrusiveRedBlackTreeImpl;
|
||||||
|
|
||||||
#pragma pack(push, 4)
|
#pragma pack(push, 4)
|
||||||
struct IntrusiveRedBlackTreeNode {
|
struct IntrusiveRedBlackTreeNode {
|
||||||
YUZU_NON_COPYABLE(IntrusiveRedBlackTreeNode);
|
SUYU_NON_COPYABLE(IntrusiveRedBlackTreeNode);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using RBEntry = freebsd::RBEntry<IntrusiveRedBlackTreeNode>;
|
using RBEntry = freebsd::RBEntry<IntrusiveRedBlackTreeNode>;
|
||||||
|
@ -49,7 +49,7 @@ class IntrusiveRedBlackTree;
|
||||||
namespace impl {
|
namespace impl {
|
||||||
|
|
||||||
class IntrusiveRedBlackTreeImpl {
|
class IntrusiveRedBlackTreeImpl {
|
||||||
YUZU_NON_COPYABLE(IntrusiveRedBlackTreeImpl);
|
SUYU_NON_COPYABLE(IntrusiveRedBlackTreeImpl);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
template <class, class, class>
|
template <class, class, class>
|
||||||
|
@ -261,7 +261,7 @@ using RedBlackKeyType = std::remove_pointer_t<decltype(impl::GetRedBlackKeyType<
|
||||||
|
|
||||||
template <class T, class Traits, class Comparator>
|
template <class T, class Traits, class Comparator>
|
||||||
class IntrusiveRedBlackTree {
|
class IntrusiveRedBlackTree {
|
||||||
YUZU_NON_COPYABLE(IntrusiveRedBlackTree);
|
SUYU_NON_COPYABLE(IntrusiveRedBlackTree);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using ImplType = impl::IntrusiveRedBlackTreeImpl;
|
using ImplType = impl::IntrusiveRedBlackTreeImpl;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template <class F>
|
template <class F>
|
||||||
class ScopeGuard {
|
class ScopeGuard {
|
||||||
YUZU_NON_COPYABLE(ScopeGuard);
|
SUYU_NON_COPYABLE(ScopeGuard);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
F f;
|
F f;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2017 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -52,7 +52,7 @@ public:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
class Field : public FieldInterface {
|
class Field : public FieldInterface {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(Field);
|
SUYU_NON_COPYABLE(Field);
|
||||||
|
|
||||||
Field(FieldType type_, std::string_view name_, T value_)
|
Field(FieldType type_, std::string_view name_, T value_)
|
||||||
: name(name_), type(type_), value(std::move(value_)) {}
|
: name(name_), type(type_), value(std::move(value_)) {}
|
||||||
|
@ -101,7 +101,7 @@ private:
|
||||||
*/
|
*/
|
||||||
class FieldCollection final {
|
class FieldCollection final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(FieldCollection);
|
SUYU_NON_COPYABLE(FieldCollection);
|
||||||
|
|
||||||
FieldCollection() = default;
|
FieldCollection() = default;
|
||||||
~FieldCollection() = default;
|
~FieldCollection() = default;
|
||||||
|
@ -168,7 +168,7 @@ struct VisitorInterface {
|
||||||
* backend implementation is not available.
|
* backend implementation is not available.
|
||||||
*/
|
*/
|
||||||
struct NullVisitor final : public VisitorInterface {
|
struct NullVisitor final : public VisitorInterface {
|
||||||
YUZU_NON_COPYABLE(NullVisitor);
|
SUYU_NON_COPYABLE(NullVisitor);
|
||||||
|
|
||||||
NullVisitor() = default;
|
NullVisitor() = default;
|
||||||
~NullVisitor() override = default;
|
~NullVisitor() override = default;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -47,8 +47,8 @@ enum class Architecture {
|
||||||
/// Generic ARMv8 CPU interface
|
/// Generic ARMv8 CPU interface
|
||||||
class ArmInterface {
|
class ArmInterface {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(ArmInterface);
|
SUYU_NON_COPYABLE(ArmInterface);
|
||||||
YUZU_NON_MOVEABLE(ArmInterface);
|
SUYU_NON_MOVEABLE(ArmInterface);
|
||||||
|
|
||||||
explicit ArmInterface(bool uses_wall_clock) : m_uses_wall_clock{uses_wall_clock} {}
|
explicit ArmInterface(bool uses_wall_clock) : m_uses_wall_clock{uses_wall_clock} {}
|
||||||
virtual ~ArmInterface() = default;
|
virtual ~ArmInterface() = default;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -15,8 +15,8 @@ namespace FileSys {
|
||||||
class DirectoryPathParser;
|
class DirectoryPathParser;
|
||||||
|
|
||||||
class Path {
|
class Path {
|
||||||
YUZU_NON_COPYABLE(Path);
|
SUYU_NON_COPYABLE(Path);
|
||||||
YUZU_NON_MOVEABLE(Path);
|
SUYU_NON_MOVEABLE(Path);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr const char* EmptyPath = "";
|
static constexpr const char* EmptyPath = "";
|
||||||
|
@ -27,7 +27,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
class WriteBuffer {
|
class WriteBuffer {
|
||||||
YUZU_NON_COPYABLE(WriteBuffer);
|
SUYU_NON_COPYABLE(WriteBuffer);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
char* m_buffer;
|
char* m_buffer;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -14,8 +14,8 @@ namespace FileSys {
|
||||||
using namespace Common::Literals;
|
using namespace Common::Literals;
|
||||||
|
|
||||||
class AesCtrCounterExtendedStorage : public IReadOnlyStorage {
|
class AesCtrCounterExtendedStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(AesCtrCounterExtendedStorage);
|
SUYU_NON_COPYABLE(AesCtrCounterExtendedStorage);
|
||||||
YUZU_NON_MOVEABLE(AesCtrCounterExtendedStorage);
|
SUYU_NON_MOVEABLE(AesCtrCounterExtendedStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t BlockSize = 0x10;
|
static constexpr size_t BlockSize = 0x10;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -14,8 +14,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class AesCtrStorage : public IStorage {
|
class AesCtrStorage : public IStorage {
|
||||||
YUZU_NON_COPYABLE(AesCtrStorage);
|
SUYU_NON_COPYABLE(AesCtrStorage);
|
||||||
YUZU_NON_MOVEABLE(AesCtrStorage);
|
SUYU_NON_MOVEABLE(AesCtrStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t BlockSize = 0x10;
|
static constexpr size_t BlockSize = 0x10;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -13,8 +13,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class AesXtsStorage : public IReadOnlyStorage {
|
class AesXtsStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(AesXtsStorage);
|
SUYU_NON_COPYABLE(AesXtsStorage);
|
||||||
YUZU_NON_MOVEABLE(AesXtsStorage);
|
SUYU_NON_MOVEABLE(AesXtsStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t AesBlockSize = 0x10;
|
static constexpr size_t AesBlockSize = 0x10;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -13,8 +13,8 @@ namespace FileSys {
|
||||||
|
|
||||||
template <size_t DataAlign_, size_t BufferAlign_>
|
template <size_t DataAlign_, size_t BufferAlign_>
|
||||||
class AlignmentMatchingStorage : public IStorage {
|
class AlignmentMatchingStorage : public IStorage {
|
||||||
YUZU_NON_COPYABLE(AlignmentMatchingStorage);
|
SUYU_NON_COPYABLE(AlignmentMatchingStorage);
|
||||||
YUZU_NON_MOVEABLE(AlignmentMatchingStorage);
|
SUYU_NON_MOVEABLE(AlignmentMatchingStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t DataAlign = DataAlign_;
|
static constexpr size_t DataAlign = DataAlign_;
|
||||||
|
@ -77,8 +77,8 @@ public:
|
||||||
|
|
||||||
template <size_t BufferAlign_>
|
template <size_t BufferAlign_>
|
||||||
class AlignmentMatchingStoragePooledBuffer : public IStorage {
|
class AlignmentMatchingStoragePooledBuffer : public IStorage {
|
||||||
YUZU_NON_COPYABLE(AlignmentMatchingStoragePooledBuffer);
|
SUYU_NON_COPYABLE(AlignmentMatchingStoragePooledBuffer);
|
||||||
YUZU_NON_MOVEABLE(AlignmentMatchingStoragePooledBuffer);
|
SUYU_NON_MOVEABLE(AlignmentMatchingStoragePooledBuffer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t BufferAlign = BufferAlign_;
|
static constexpr size_t BufferAlign = BufferAlign_;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -18,8 +18,8 @@ namespace FileSys {
|
||||||
using namespace Common::Literals;
|
using namespace Common::Literals;
|
||||||
|
|
||||||
class BucketTree {
|
class BucketTree {
|
||||||
YUZU_NON_COPYABLE(BucketTree);
|
SUYU_NON_COPYABLE(BucketTree);
|
||||||
YUZU_NON_MOVEABLE(BucketTree);
|
SUYU_NON_MOVEABLE(BucketTree);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr u32 Magic = Common::MakeMagic('B', 'K', 'T', 'R');
|
static constexpr u32 Magic = Common::MakeMagic('B', 'K', 'T', 'R');
|
||||||
|
@ -123,7 +123,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class NodeBuffer {
|
class NodeBuffer {
|
||||||
YUZU_NON_COPYABLE(NodeBuffer);
|
SUYU_NON_COPYABLE(NodeBuffer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NodeBuffer() : m_header() {}
|
NodeBuffer() : m_header() {}
|
||||||
|
@ -330,8 +330,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
class BucketTree::Visitor {
|
class BucketTree::Visitor {
|
||||||
YUZU_NON_COPYABLE(Visitor);
|
SUYU_NON_COPYABLE(Visitor);
|
||||||
YUZU_NON_MOVEABLE(Visitor);
|
SUYU_NON_MOVEABLE(Visitor);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
constexpr Visitor()
|
constexpr Visitor()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -17,8 +17,8 @@ namespace FileSys {
|
||||||
using namespace Common::Literals;
|
using namespace Common::Literals;
|
||||||
|
|
||||||
class CompressedStorage : public IReadOnlyStorage {
|
class CompressedStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(CompressedStorage);
|
SUYU_NON_COPYABLE(CompressedStorage);
|
||||||
YUZU_NON_MOVEABLE(CompressedStorage);
|
SUYU_NON_MOVEABLE(CompressedStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t NodeSize = 16_KiB;
|
static constexpr size_t NodeSize = 16_KiB;
|
||||||
|
@ -47,8 +47,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class CompressedStorageCore {
|
class CompressedStorageCore {
|
||||||
YUZU_NON_COPYABLE(CompressedStorageCore);
|
SUYU_NON_COPYABLE(CompressedStorageCore);
|
||||||
YUZU_NON_MOVEABLE(CompressedStorageCore);
|
SUYU_NON_MOVEABLE(CompressedStorageCore);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CompressedStorageCore() : m_table(), m_data_storage() {}
|
CompressedStorageCore() : m_table(), m_data_storage() {}
|
||||||
|
@ -674,8 +674,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
class CacheManager {
|
class CacheManager {
|
||||||
YUZU_NON_COPYABLE(CacheManager);
|
SUYU_NON_COPYABLE(CacheManager);
|
||||||
YUZU_NON_MOVEABLE(CacheManager);
|
SUYU_NON_MOVEABLE(CacheManager);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct AccessRange {
|
struct AccessRange {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -57,8 +57,8 @@ struct HierarchicalIntegrityVerificationSizeSet {
|
||||||
static_assert(std::is_trivial_v<HierarchicalIntegrityVerificationSizeSet>);
|
static_assert(std::is_trivial_v<HierarchicalIntegrityVerificationSizeSet>);
|
||||||
|
|
||||||
class HierarchicalIntegrityVerificationStorage : public IReadOnlyStorage {
|
class HierarchicalIntegrityVerificationStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(HierarchicalIntegrityVerificationStorage);
|
SUYU_NON_COPYABLE(HierarchicalIntegrityVerificationStorage);
|
||||||
YUZU_NON_MOVEABLE(HierarchicalIntegrityVerificationStorage);
|
SUYU_NON_MOVEABLE(HierarchicalIntegrityVerificationStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using GenerateRandomFunction = void (*)(void* dst, size_t size);
|
using GenerateRandomFunction = void (*)(void* dst, size_t size);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -12,8 +12,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class HierarchicalSha256Storage : public IReadOnlyStorage {
|
class HierarchicalSha256Storage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(HierarchicalSha256Storage);
|
SUYU_NON_COPYABLE(HierarchicalSha256Storage);
|
||||||
YUZU_NON_MOVEABLE(HierarchicalSha256Storage);
|
SUYU_NON_MOVEABLE(HierarchicalSha256Storage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr s32 LayerCount = 3;
|
static constexpr s32 LayerCount = 3;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -13,8 +13,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class IndirectStorage : public IReadOnlyStorage {
|
class IndirectStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(IndirectStorage);
|
SUYU_NON_COPYABLE(IndirectStorage);
|
||||||
YUZU_NON_MOVEABLE(IndirectStorage);
|
SUYU_NON_MOVEABLE(IndirectStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr s32 StorageCount = 2;
|
static constexpr s32 StorageCount = 2;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -11,8 +11,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class IntegrityVerificationStorage : public IReadOnlyStorage {
|
class IntegrityVerificationStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(IntegrityVerificationStorage);
|
SUYU_NON_COPYABLE(IntegrityVerificationStorage);
|
||||||
YUZU_NON_MOVEABLE(IntegrityVerificationStorage);
|
SUYU_NON_MOVEABLE(IntegrityVerificationStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr s64 HashSize = 256 / 8;
|
static constexpr s64 HashSize = 256 / 8;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -8,8 +8,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class MemoryResourceBufferHoldStorage : public IStorage {
|
class MemoryResourceBufferHoldStorage : public IStorage {
|
||||||
YUZU_NON_COPYABLE(MemoryResourceBufferHoldStorage);
|
SUYU_NON_COPYABLE(MemoryResourceBufferHoldStorage);
|
||||||
YUZU_NON_MOVEABLE(MemoryResourceBufferHoldStorage);
|
SUYU_NON_MOVEABLE(MemoryResourceBufferHoldStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MemoryResourceBufferHoldStorage(VirtualFile storage, size_t buffer_size)
|
MemoryResourceBufferHoldStorage(VirtualFile storage, size_t buffer_size)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h"
|
#include "core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h"
|
||||||
|
@ -28,8 +28,8 @@ constexpr inline s32 IntegrityDataCacheCountForMeta = 16;
|
||||||
constexpr inline s32 IntegrityHashCacheCountForMeta = 2;
|
constexpr inline s32 IntegrityHashCacheCountForMeta = 2;
|
||||||
|
|
||||||
class SharedNcaBodyStorage : public IReadOnlyStorage {
|
class SharedNcaBodyStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(SharedNcaBodyStorage);
|
SUYU_NON_COPYABLE(SharedNcaBodyStorage);
|
||||||
YUZU_NON_MOVEABLE(SharedNcaBodyStorage);
|
SUYU_NON_MOVEABLE(SharedNcaBodyStorage);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VirtualFile m_storage;
|
VirtualFile m_storage;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -88,8 +88,8 @@ constexpr inline s32 GetKeyTypeValue(u8 key_index, u8 key_generation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
class NcaReader {
|
class NcaReader {
|
||||||
YUZU_NON_COPYABLE(NcaReader);
|
SUYU_NON_COPYABLE(NcaReader);
|
||||||
YUZU_NON_MOVEABLE(NcaReader);
|
SUYU_NON_MOVEABLE(NcaReader);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NcaReader();
|
NcaReader();
|
||||||
|
@ -154,8 +154,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
class NcaFsHeaderReader {
|
class NcaFsHeaderReader {
|
||||||
YUZU_NON_COPYABLE(NcaFsHeaderReader);
|
SUYU_NON_COPYABLE(NcaFsHeaderReader);
|
||||||
YUZU_NON_MOVEABLE(NcaFsHeaderReader);
|
SUYU_NON_MOVEABLE(NcaFsHeaderReader);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NcaFsHeaderReader() : m_fs_index(-1) {
|
NcaFsHeaderReader() : m_fs_index(-1) {
|
||||||
|
@ -207,8 +207,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
class NcaFileSystemDriver {
|
class NcaFileSystemDriver {
|
||||||
YUZU_NON_COPYABLE(NcaFileSystemDriver);
|
SUYU_NON_COPYABLE(NcaFileSystemDriver);
|
||||||
YUZU_NON_MOVEABLE(NcaFileSystemDriver);
|
SUYU_NON_MOVEABLE(NcaFileSystemDriver);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct StorageContext {
|
struct StorageContext {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -16,7 +16,7 @@ constexpr inline size_t BufferPoolAlignment = 4_KiB;
|
||||||
constexpr inline size_t BufferPoolWorkSize = 320;
|
constexpr inline size_t BufferPoolWorkSize = 320;
|
||||||
|
|
||||||
class PooledBuffer {
|
class PooledBuffer {
|
||||||
YUZU_NON_COPYABLE(PooledBuffer);
|
SUYU_NON_COPYABLE(PooledBuffer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor/Destructor.
|
// Constructor/Destructor.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -8,8 +8,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class SparseStorage : public IndirectStorage {
|
class SparseStorage : public IndirectStorage {
|
||||||
YUZU_NON_COPYABLE(SparseStorage);
|
SUYU_NON_COPYABLE(SparseStorage);
|
||||||
YUZU_NON_MOVEABLE(SparseStorage);
|
SUYU_NON_MOVEABLE(SparseStorage);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class ZeroStorage : public IReadOnlyStorage {
|
class ZeroStorage : public IReadOnlyStorage {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -8,8 +8,8 @@
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
class RegionSwitchStorage : public IReadOnlyStorage {
|
class RegionSwitchStorage : public IReadOnlyStorage {
|
||||||
YUZU_NON_COPYABLE(RegionSwitchStorage);
|
SUYU_NON_COPYABLE(RegionSwitchStorage);
|
||||||
YUZU_NON_MOVEABLE(RegionSwitchStorage);
|
SUYU_NON_MOVEABLE(RegionSwitchStorage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct Region {
|
struct Region {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -30,8 +30,8 @@ enum class VfsEntryType {
|
||||||
// functionality, they will need to override.
|
// functionality, they will need to override.
|
||||||
class VfsFilesystem {
|
class VfsFilesystem {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(VfsFilesystem);
|
SUYU_NON_COPYABLE(VfsFilesystem);
|
||||||
YUZU_NON_MOVEABLE(VfsFilesystem);
|
SUYU_NON_MOVEABLE(VfsFilesystem);
|
||||||
|
|
||||||
explicit VfsFilesystem(VirtualDir root);
|
explicit VfsFilesystem(VirtualDir root);
|
||||||
virtual ~VfsFilesystem();
|
virtual ~VfsFilesystem();
|
||||||
|
@ -81,8 +81,8 @@ protected:
|
||||||
// A class representing a file in an abstract filesystem.
|
// A class representing a file in an abstract filesystem.
|
||||||
class VfsFile {
|
class VfsFile {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(VfsFile);
|
SUYU_NON_COPYABLE(VfsFile);
|
||||||
YUZU_NON_MOVEABLE(VfsFile);
|
SUYU_NON_MOVEABLE(VfsFile);
|
||||||
|
|
||||||
VfsFile() = default;
|
VfsFile() = default;
|
||||||
virtual ~VfsFile();
|
virtual ~VfsFile();
|
||||||
|
@ -184,8 +184,8 @@ public:
|
||||||
// A class representing a directory in an abstract filesystem.
|
// A class representing a directory in an abstract filesystem.
|
||||||
class VfsDirectory {
|
class VfsDirectory {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(VfsDirectory);
|
SUYU_NON_COPYABLE(VfsDirectory);
|
||||||
YUZU_NON_MOVEABLE(VfsDirectory);
|
SUYU_NON_MOVEABLE(VfsDirectory);
|
||||||
|
|
||||||
VfsDirectory() = default;
|
VfsDirectory() = default;
|
||||||
virtual ~VfsDirectory();
|
virtual ~VfsDirectory();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -27,8 +27,8 @@ private:
|
||||||
static constexpr inline ClassTokenType ClassToken() { return ::Kernel::ClassToken<CLASS>; } \
|
static constexpr inline ClassTokenType ClassToken() { return ::Kernel::ClassToken<CLASS>; } \
|
||||||
\
|
\
|
||||||
public: \
|
public: \
|
||||||
YUZU_NON_COPYABLE(CLASS); \
|
SUYU_NON_COPYABLE(CLASS); \
|
||||||
YUZU_NON_MOVEABLE(CLASS); \
|
SUYU_NON_MOVEABLE(CLASS); \
|
||||||
\
|
\
|
||||||
using BaseClass = BASE_CLASS; \
|
using BaseClass = BASE_CLASS; \
|
||||||
static constexpr TypeObj GetStaticTypeObj() { \
|
static constexpr TypeObj GetStaticTypeObj() { \
|
||||||
|
@ -211,7 +211,7 @@ private:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
class KScopedAutoObject {
|
class KScopedAutoObject {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KScopedAutoObject);
|
SUYU_NON_COPYABLE(KScopedAutoObject);
|
||||||
|
|
||||||
constexpr KScopedAutoObject() = default;
|
constexpr KScopedAutoObject() = default;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -16,8 +16,8 @@ class KProcess;
|
||||||
|
|
||||||
class KAutoObjectWithListContainer {
|
class KAutoObjectWithListContainer {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KAutoObjectWithListContainer);
|
SUYU_NON_COPYABLE(KAutoObjectWithListContainer);
|
||||||
YUZU_NON_MOVEABLE(KAutoObjectWithListContainer);
|
SUYU_NON_MOVEABLE(KAutoObjectWithListContainer);
|
||||||
|
|
||||||
using ListType = boost::intrusive::rbtree<KAutoObjectWithList>;
|
using ListType = boost::intrusive::rbtree<KAutoObjectWithList>;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -12,8 +12,8 @@ namespace Kernel {
|
||||||
|
|
||||||
template <typename T, bool ClearNode = false>
|
template <typename T, bool ClearNode = false>
|
||||||
class KDynamicResourceManager {
|
class KDynamicResourceManager {
|
||||||
YUZU_NON_COPYABLE(KDynamicResourceManager);
|
SUYU_NON_COPYABLE(KDynamicResourceManager);
|
||||||
YUZU_NON_MOVEABLE(KDynamicResourceManager);
|
SUYU_NON_MOVEABLE(KDynamicResourceManager);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using DynamicSlabType = KDynamicSlabHeap<T, ClearNode>;
|
using DynamicSlabType = KDynamicSlabHeap<T, ClearNode>;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -13,8 +13,8 @@ namespace Kernel {
|
||||||
|
|
||||||
template <typename T, bool ClearNode = false>
|
template <typename T, bool ClearNode = false>
|
||||||
class KDynamicSlabHeap : protected impl::KSlabHeapImpl {
|
class KDynamicSlabHeap : protected impl::KSlabHeapImpl {
|
||||||
YUZU_NON_COPYABLE(KDynamicSlabHeap);
|
SUYU_NON_COPYABLE(KDynamicSlabHeap);
|
||||||
YUZU_NON_MOVEABLE(KDynamicSlabHeap);
|
SUYU_NON_MOVEABLE(KDynamicSlabHeap);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
constexpr KDynamicSlabHeap() = default;
|
constexpr KDynamicSlabHeap() = default;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -21,8 +21,8 @@ namespace Kernel {
|
||||||
class KernelCore;
|
class KernelCore;
|
||||||
|
|
||||||
class KHandleTable {
|
class KHandleTable {
|
||||||
YUZU_NON_COPYABLE(KHandleTable);
|
SUYU_NON_COPYABLE(KHandleTable);
|
||||||
YUZU_NON_MOVEABLE(KHandleTable);
|
SUYU_NON_MOVEABLE(KHandleTable);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static constexpr size_t MaxTableSize = 1024;
|
static constexpr size_t MaxTableSize = 1024;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -17,8 +17,8 @@ class KMemoryRegion final : public Common::IntrusiveRedBlackTreeBaseNode<KMemory
|
||||||
friend class KMemoryRegionTree;
|
friend class KMemoryRegionTree;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KMemoryRegion);
|
SUYU_NON_COPYABLE(KMemoryRegion);
|
||||||
YUZU_NON_MOVEABLE(KMemoryRegion);
|
SUYU_NON_MOVEABLE(KMemoryRegion);
|
||||||
|
|
||||||
constexpr KMemoryRegion() = default;
|
constexpr KMemoryRegion() = default;
|
||||||
constexpr KMemoryRegion(u64 address, u64 last_address)
|
constexpr KMemoryRegion(u64 address, u64 last_address)
|
||||||
|
@ -123,8 +123,8 @@ private:
|
||||||
Common::IntrusiveRedBlackTreeBaseTraits<KMemoryRegion>::TreeType<KMemoryRegion>;
|
Common::IntrusiveRedBlackTreeBaseTraits<KMemoryRegion>::TreeType<KMemoryRegion>;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KMemoryRegionTree);
|
SUYU_NON_COPYABLE(KMemoryRegionTree);
|
||||||
YUZU_NON_MOVEABLE(KMemoryRegionTree);
|
SUYU_NON_MOVEABLE(KMemoryRegionTree);
|
||||||
|
|
||||||
using value_type = TreeType::value_type;
|
using value_type = TreeType::value_type;
|
||||||
using size_type = TreeType::size_type;
|
using size_type = TreeType::size_type;
|
||||||
|
@ -327,8 +327,8 @@ private:
|
||||||
|
|
||||||
class KMemoryRegionAllocator final {
|
class KMemoryRegionAllocator final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KMemoryRegionAllocator);
|
SUYU_NON_COPYABLE(KMemoryRegionAllocator);
|
||||||
YUZU_NON_MOVEABLE(KMemoryRegionAllocator);
|
SUYU_NON_MOVEABLE(KMemoryRegionAllocator);
|
||||||
|
|
||||||
static constexpr size_t MaxMemoryRegions = 200;
|
static constexpr size_t MaxMemoryRegions = 200;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "common/scope_exit.h"
|
#include "common/scope_exit.h"
|
||||||
|
@ -14,8 +14,8 @@ namespace Kernel {
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
class KScopedLightLockPair {
|
class KScopedLightLockPair {
|
||||||
YUZU_NON_COPYABLE(KScopedLightLockPair);
|
SUYU_NON_COPYABLE(KScopedLightLockPair);
|
||||||
YUZU_NON_MOVEABLE(KScopedLightLockPair);
|
SUYU_NON_MOVEABLE(KScopedLightLockPair);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
KLightLock* m_lower;
|
KLightLock* m_lower;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -49,8 +49,8 @@ class KResourceLimit;
|
||||||
class KSystemResource;
|
class KSystemResource;
|
||||||
|
|
||||||
class KPageTableBase {
|
class KPageTableBase {
|
||||||
YUZU_NON_COPYABLE(KPageTableBase);
|
SUYU_NON_COPYABLE(KPageTableBase);
|
||||||
YUZU_NON_MOVEABLE(KPageTableBase);
|
SUYU_NON_MOVEABLE(KPageTableBase);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using TraversalEntry = Common::PageTable::TraversalEntry;
|
using TraversalEntry = Common::PageTable::TraversalEntry;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -33,8 +33,8 @@ class KScopedSchedulerLockAndSleep;
|
||||||
|
|
||||||
class KScheduler final {
|
class KScheduler final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(KScheduler);
|
SUYU_NON_COPYABLE(KScheduler);
|
||||||
YUZU_NON_MOVEABLE(KScheduler);
|
SUYU_NON_MOVEABLE(KScheduler);
|
||||||
|
|
||||||
using LockType = KAbstractSchedulerLock<KScheduler>;
|
using LockType = KAbstractSchedulerLock<KScheduler>;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -18,8 +18,8 @@ class KernelCore;
|
||||||
namespace impl {
|
namespace impl {
|
||||||
|
|
||||||
class KSlabHeapImpl {
|
class KSlabHeapImpl {
|
||||||
YUZU_NON_COPYABLE(KSlabHeapImpl);
|
SUYU_NON_COPYABLE(KSlabHeapImpl);
|
||||||
YUZU_NON_MOVEABLE(KSlabHeapImpl);
|
SUYU_NON_MOVEABLE(KSlabHeapImpl);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct Node {
|
struct Node {
|
||||||
|
@ -72,8 +72,8 @@ private:
|
||||||
|
|
||||||
template <bool SupportDynamicExpansion>
|
template <bool SupportDynamicExpansion>
|
||||||
class KSlabHeapBase : protected impl::KSlabHeapImpl {
|
class KSlabHeapBase : protected impl::KSlabHeapImpl {
|
||||||
YUZU_NON_COPYABLE(KSlabHeapBase);
|
SUYU_NON_COPYABLE(KSlabHeapBase);
|
||||||
YUZU_NON_MOVEABLE(KSlabHeapBase);
|
SUYU_NON_MOVEABLE(KSlabHeapBase);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t m_obj_size{};
|
size_t m_obj_size{};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -14,8 +14,8 @@ class KSpinLock {
|
||||||
public:
|
public:
|
||||||
explicit KSpinLock() = default;
|
explicit KSpinLock() = default;
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(KSpinLock);
|
SUYU_NON_COPYABLE(KSpinLock);
|
||||||
YUZU_NON_MOVEABLE(KSpinLock);
|
SUYU_NON_MOVEABLE(KSpinLock);
|
||||||
|
|
||||||
void Lock();
|
void Lock();
|
||||||
void Unlock();
|
void Unlock();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -26,8 +26,8 @@ public:
|
||||||
PhysicalCore(KernelCore& kernel, std::size_t core_index);
|
PhysicalCore(KernelCore& kernel, std::size_t core_index);
|
||||||
~PhysicalCore();
|
~PhysicalCore();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(PhysicalCore);
|
SUYU_NON_COPYABLE(PhysicalCore);
|
||||||
YUZU_NON_MOVEABLE(PhysicalCore);
|
SUYU_NON_MOVEABLE(PhysicalCore);
|
||||||
|
|
||||||
// Execute guest code running on the given thread.
|
// Execute guest code running on the given thread.
|
||||||
void RunThread(KThread* thread);
|
void RunThread(KThread* thread);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -298,8 +298,8 @@ private:
|
||||||
namespace ResultImpl {
|
namespace ResultImpl {
|
||||||
template <auto EvaluateResult, class F>
|
template <auto EvaluateResult, class F>
|
||||||
class ScopedResultGuard {
|
class ScopedResultGuard {
|
||||||
YUZU_NON_COPYABLE(ScopedResultGuard);
|
SUYU_NON_COPYABLE(ScopedResultGuard);
|
||||||
YUZU_NON_MOVEABLE(ScopedResultGuard);
|
SUYU_NON_MOVEABLE(ScopedResultGuard);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Result& m_ref;
|
Result& m_ref;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -11,7 +11,7 @@ namespace Service::JIT {
|
||||||
|
|
||||||
class CodeMemory {
|
class CodeMemory {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(CodeMemory);
|
SUYU_NON_COPYABLE(CodeMemory);
|
||||||
|
|
||||||
explicit CodeMemory() = default;
|
explicit CodeMemory() = default;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
@ -23,7 +23,7 @@ template <typename T>
|
||||||
struct CFReleaser {
|
struct CFReleaser {
|
||||||
T ptr;
|
T ptr;
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(CFReleaser);
|
SUYU_NON_COPYABLE(CFReleaser);
|
||||||
constexpr CFReleaser() : ptr(nullptr) {}
|
constexpr CFReleaser() : ptr(nullptr) {}
|
||||||
constexpr CFReleaser(T ptr) : ptr(ptr) {}
|
constexpr CFReleaser(T ptr) : ptr(ptr) {}
|
||||||
constexpr operator T() {
|
constexpr operator T() {
|
||||||
|
|
|
@ -39,8 +39,8 @@ public:
|
||||||
explicit SocketBase(SOCKET fd_) : fd{fd_} {}
|
explicit SocketBase(SOCKET fd_) : fd{fd_} {}
|
||||||
virtual ~SocketBase() = default;
|
virtual ~SocketBase() = default;
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(SocketBase);
|
SUYU_NON_COPYABLE(SocketBase);
|
||||||
YUZU_NON_MOVEABLE(SocketBase);
|
SUYU_NON_MOVEABLE(SocketBase);
|
||||||
|
|
||||||
virtual Errno Initialize(Domain domain, Type type, Protocol protocol) = 0;
|
virtual Errno Initialize(Domain domain, Type type, Protocol protocol) = 0;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -143,8 +143,8 @@ std::ostream& operator<<(std::ostream& os, ResultStatus status);
|
||||||
/// Interface for loading an application
|
/// Interface for loading an application
|
||||||
class AppLoader {
|
class AppLoader {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(AppLoader);
|
SUYU_NON_COPYABLE(AppLoader);
|
||||||
YUZU_NON_MOVEABLE(AppLoader);
|
SUYU_NON_MOVEABLE(AppLoader);
|
||||||
|
|
||||||
struct LoadParameters {
|
struct LoadParameters {
|
||||||
s32 main_thread_priority;
|
s32 main_thread_priority;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -80,8 +80,8 @@ public:
|
||||||
explicit EmulatedConsole();
|
explicit EmulatedConsole();
|
||||||
~EmulatedConsole();
|
~EmulatedConsole();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(EmulatedConsole);
|
SUYU_NON_COPYABLE(EmulatedConsole);
|
||||||
YUZU_NON_MOVEABLE(EmulatedConsole);
|
SUYU_NON_MOVEABLE(EmulatedConsole);
|
||||||
|
|
||||||
/// Removes all callbacks created from input devices
|
/// Removes all callbacks created from input devices
|
||||||
void UnloadInput();
|
void UnloadInput();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -178,8 +178,8 @@ public:
|
||||||
explicit EmulatedController(NpadIdType npad_id_type_);
|
explicit EmulatedController(NpadIdType npad_id_type_);
|
||||||
~EmulatedController();
|
~EmulatedController();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(EmulatedController);
|
SUYU_NON_COPYABLE(EmulatedController);
|
||||||
YUZU_NON_MOVEABLE(EmulatedController);
|
SUYU_NON_MOVEABLE(EmulatedController);
|
||||||
|
|
||||||
/// Converts the controller type from settings to npad type
|
/// Converts the controller type from settings to npad type
|
||||||
static NpadStyleIndex MapSettingsTypeToNPad(Settings::ControllerType type);
|
static NpadStyleIndex MapSettingsTypeToNPad(Settings::ControllerType type);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -81,8 +81,8 @@ public:
|
||||||
explicit EmulatedDevices();
|
explicit EmulatedDevices();
|
||||||
~EmulatedDevices();
|
~EmulatedDevices();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(EmulatedDevices);
|
SUYU_NON_COPYABLE(EmulatedDevices);
|
||||||
YUZU_NON_MOVEABLE(EmulatedDevices);
|
SUYU_NON_MOVEABLE(EmulatedDevices);
|
||||||
|
|
||||||
/// Removes all callbacks created from input devices
|
/// Removes all callbacks created from input devices
|
||||||
void UnloadInput();
|
void UnloadInput();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -21,8 +21,8 @@ public:
|
||||||
explicit HIDCore();
|
explicit HIDCore();
|
||||||
~HIDCore();
|
~HIDCore();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(HIDCore);
|
SUYU_NON_COPYABLE(HIDCore);
|
||||||
YUZU_NON_MOVEABLE(HIDCore);
|
SUYU_NON_MOVEABLE(HIDCore);
|
||||||
|
|
||||||
EmulatedController* GetEmulatedController(NpadIdType npad_id_type);
|
EmulatedController* GetEmulatedController(NpadIdType npad_id_type);
|
||||||
const EmulatedController* GetEmulatedController(NpadIdType npad_id_type) const;
|
const EmulatedController* GetEmulatedController(NpadIdType npad_id_type) const;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -43,8 +43,8 @@ class DeinterlaceFilter;
|
||||||
// Wraps an AVPacket, a container for compressed bitstream data.
|
// Wraps an AVPacket, a container for compressed bitstream data.
|
||||||
class Packet {
|
class Packet {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(Packet);
|
SUYU_NON_COPYABLE(Packet);
|
||||||
YUZU_NON_MOVEABLE(Packet);
|
SUYU_NON_MOVEABLE(Packet);
|
||||||
|
|
||||||
explicit Packet(std::span<const u8> data);
|
explicit Packet(std::span<const u8> data);
|
||||||
~Packet();
|
~Packet();
|
||||||
|
@ -60,8 +60,8 @@ private:
|
||||||
// Wraps an AVFrame, a container for audio and video stream data.
|
// Wraps an AVFrame, a container for audio and video stream data.
|
||||||
class Frame {
|
class Frame {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(Frame);
|
SUYU_NON_COPYABLE(Frame);
|
||||||
YUZU_NON_MOVEABLE(Frame);
|
SUYU_NON_MOVEABLE(Frame);
|
||||||
|
|
||||||
explicit Frame();
|
explicit Frame();
|
||||||
~Frame();
|
~Frame();
|
||||||
|
@ -109,8 +109,8 @@ private:
|
||||||
// Wraps an AVCodec, a type containing information about a codec.
|
// Wraps an AVCodec, a type containing information about a codec.
|
||||||
class Decoder {
|
class Decoder {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(Decoder);
|
SUYU_NON_COPYABLE(Decoder);
|
||||||
YUZU_NON_MOVEABLE(Decoder);
|
SUYU_NON_MOVEABLE(Decoder);
|
||||||
|
|
||||||
explicit Decoder(Tegra::Host1x::NvdecCommon::VideoCodec codec);
|
explicit Decoder(Tegra::Host1x::NvdecCommon::VideoCodec codec);
|
||||||
~Decoder() = default;
|
~Decoder() = default;
|
||||||
|
@ -128,8 +128,8 @@ private:
|
||||||
// Wraps AVBufferRef for an accelerated decoder.
|
// Wraps AVBufferRef for an accelerated decoder.
|
||||||
class HardwareContext {
|
class HardwareContext {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(HardwareContext);
|
SUYU_NON_COPYABLE(HardwareContext);
|
||||||
YUZU_NON_MOVEABLE(HardwareContext);
|
SUYU_NON_MOVEABLE(HardwareContext);
|
||||||
|
|
||||||
static std::vector<AVHWDeviceType> GetSupportedDeviceTypes();
|
static std::vector<AVHWDeviceType> GetSupportedDeviceTypes();
|
||||||
|
|
||||||
|
@ -151,8 +151,8 @@ private:
|
||||||
// Wraps an AVCodecContext.
|
// Wraps an AVCodecContext.
|
||||||
class DecoderContext {
|
class DecoderContext {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(DecoderContext);
|
SUYU_NON_COPYABLE(DecoderContext);
|
||||||
YUZU_NON_MOVEABLE(DecoderContext);
|
SUYU_NON_MOVEABLE(DecoderContext);
|
||||||
|
|
||||||
explicit DecoderContext(const Decoder& decoder);
|
explicit DecoderContext(const Decoder& decoder);
|
||||||
~DecoderContext();
|
~DecoderContext();
|
||||||
|
@ -173,8 +173,8 @@ private:
|
||||||
// Wraps an AVFilterGraph.
|
// Wraps an AVFilterGraph.
|
||||||
class DeinterlaceFilter {
|
class DeinterlaceFilter {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(DeinterlaceFilter);
|
SUYU_NON_COPYABLE(DeinterlaceFilter);
|
||||||
YUZU_NON_MOVEABLE(DeinterlaceFilter);
|
SUYU_NON_MOVEABLE(DeinterlaceFilter);
|
||||||
|
|
||||||
explicit DeinterlaceFilter(const Frame& frame);
|
explicit DeinterlaceFilter(const Frame& frame);
|
||||||
~DeinterlaceFilter();
|
~DeinterlaceFilter();
|
||||||
|
@ -191,8 +191,8 @@ private:
|
||||||
|
|
||||||
class DecodeApi {
|
class DecodeApi {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(DecodeApi);
|
SUYU_NON_COPYABLE(DecodeApi);
|
||||||
YUZU_NON_MOVEABLE(DecodeApi);
|
SUYU_NON_MOVEABLE(DecodeApi);
|
||||||
|
|
||||||
DecodeApi() = default;
|
DecodeApi() = default;
|
||||||
~DecodeApi() = default;
|
~DecodeApi() = default;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -30,8 +30,8 @@ struct RendererSettings {
|
||||||
|
|
||||||
class RendererBase {
|
class RendererBase {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(RendererBase);
|
SUYU_NON_COPYABLE(RendererBase);
|
||||||
YUZU_NON_MOVEABLE(RendererBase);
|
SUYU_NON_MOVEABLE(RendererBase);
|
||||||
|
|
||||||
explicit RendererBase(Core::Frontend::EmuWindow& window,
|
explicit RendererBase(Core::Frontend::EmuWindow& window,
|
||||||
std::unique_ptr<Core::Frontend::GraphicsContext> context);
|
std::unique_ptr<Core::Frontend::GraphicsContext> context);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2015 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2015 Citra Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -12,7 +12,7 @@ namespace OpenGL {
|
||||||
|
|
||||||
class OGLRenderbuffer final {
|
class OGLRenderbuffer final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLRenderbuffer);
|
SUYU_NON_COPYABLE(OGLRenderbuffer);
|
||||||
|
|
||||||
OGLRenderbuffer() = default;
|
OGLRenderbuffer() = default;
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ public:
|
||||||
|
|
||||||
class OGLTexture final {
|
class OGLTexture final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLTexture);
|
SUYU_NON_COPYABLE(OGLTexture);
|
||||||
|
|
||||||
OGLTexture() = default;
|
OGLTexture() = default;
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ public:
|
||||||
|
|
||||||
class OGLTextureView final {
|
class OGLTextureView final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLTextureView);
|
SUYU_NON_COPYABLE(OGLTextureView);
|
||||||
|
|
||||||
OGLTextureView() = default;
|
OGLTextureView() = default;
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ public:
|
||||||
|
|
||||||
class OGLSampler final {
|
class OGLSampler final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLSampler);
|
SUYU_NON_COPYABLE(OGLSampler);
|
||||||
|
|
||||||
OGLSampler() = default;
|
OGLSampler() = default;
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ public:
|
||||||
|
|
||||||
class OGLShader final {
|
class OGLShader final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLShader);
|
SUYU_NON_COPYABLE(OGLShader);
|
||||||
|
|
||||||
OGLShader() = default;
|
OGLShader() = default;
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ public:
|
||||||
|
|
||||||
class OGLProgram final {
|
class OGLProgram final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLProgram);
|
SUYU_NON_COPYABLE(OGLProgram);
|
||||||
|
|
||||||
OGLProgram() = default;
|
OGLProgram() = default;
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ public:
|
||||||
|
|
||||||
class OGLAssemblyProgram final {
|
class OGLAssemblyProgram final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLAssemblyProgram);
|
SUYU_NON_COPYABLE(OGLAssemblyProgram);
|
||||||
|
|
||||||
OGLAssemblyProgram() = default;
|
OGLAssemblyProgram() = default;
|
||||||
|
|
||||||
|
@ -191,7 +191,7 @@ public:
|
||||||
|
|
||||||
class OGLPipeline final {
|
class OGLPipeline final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLPipeline);
|
SUYU_NON_COPYABLE(OGLPipeline);
|
||||||
|
|
||||||
OGLPipeline() = default;
|
OGLPipeline() = default;
|
||||||
OGLPipeline(OGLPipeline&& o) noexcept : handle{std::exchange<GLuint>(o.handle, 0)} {}
|
OGLPipeline(OGLPipeline&& o) noexcept : handle{std::exchange<GLuint>(o.handle, 0)} {}
|
||||||
|
@ -215,7 +215,7 @@ public:
|
||||||
|
|
||||||
class OGLBuffer final {
|
class OGLBuffer final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLBuffer);
|
SUYU_NON_COPYABLE(OGLBuffer);
|
||||||
|
|
||||||
OGLBuffer() = default;
|
OGLBuffer() = default;
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ public:
|
||||||
|
|
||||||
class OGLSync final {
|
class OGLSync final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLSync);
|
SUYU_NON_COPYABLE(OGLSync);
|
||||||
|
|
||||||
OGLSync() = default;
|
OGLSync() = default;
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ public:
|
||||||
|
|
||||||
class OGLFramebuffer final {
|
class OGLFramebuffer final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLFramebuffer);
|
SUYU_NON_COPYABLE(OGLFramebuffer);
|
||||||
|
|
||||||
OGLFramebuffer() = default;
|
OGLFramebuffer() = default;
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ public:
|
||||||
|
|
||||||
class OGLQuery final {
|
class OGLQuery final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLQuery);
|
SUYU_NON_COPYABLE(OGLQuery);
|
||||||
|
|
||||||
OGLQuery() = default;
|
OGLQuery() = default;
|
||||||
|
|
||||||
|
@ -325,7 +325,7 @@ public:
|
||||||
|
|
||||||
class OGLTransformFeedback final {
|
class OGLTransformFeedback final {
|
||||||
public:
|
public:
|
||||||
YUZU_NON_COPYABLE(OGLTransformFeedback);
|
SUYU_NON_COPYABLE(OGLTransformFeedback);
|
||||||
|
|
||||||
OGLTransformFeedback() = default;
|
OGLTransformFeedback() = default;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
// Mingw seems to not have QMovie at all. If QMovie is missing then use a single frame instead of an
|
// Mingw seems to not have QMovie at all. If QMovie is missing then use a single frame instead of an
|
||||||
// showing the full animation
|
// showing the full animation
|
||||||
#if !YUZU_QT_MOVIE_MISSING
|
#if !SUYU_QT_MOVIE_MISSING
|
||||||
#include <QMovie>
|
#include <QMovie>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ LoadingScreen::~LoadingScreen() = default;
|
||||||
void LoadingScreen::Prepare(Loader::AppLoader& loader) {
|
void LoadingScreen::Prepare(Loader::AppLoader& loader) {
|
||||||
std::vector<u8> buffer;
|
std::vector<u8> buffer;
|
||||||
if (loader.ReadBanner(buffer) == Loader::ResultStatus::Success) {
|
if (loader.ReadBanner(buffer) == Loader::ResultStatus::Success) {
|
||||||
#ifdef YUZU_QT_MOVIE_MISSING
|
#ifdef SUYU_QT_MOVIE_MISSING
|
||||||
QPixmap map;
|
QPixmap map;
|
||||||
map.loadFromData(buffer.data(), buffer.size());
|
map.loadFromData(buffer.data(), buffer.size());
|
||||||
ui->banner->setPixmap(map);
|
ui->banner->setPixmap(map);
|
||||||
|
@ -194,7 +194,7 @@ void LoadingScreen::paintEvent(QPaintEvent* event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadingScreen::Clear() {
|
void LoadingScreen::Clear() {
|
||||||
#ifndef YUZU_QT_MOVIE_MISSING
|
#ifndef SUYU_QT_MOVIE_MISSING
|
||||||
animation.reset();
|
animation.reset();
|
||||||
backing_buf.reset();
|
backing_buf.reset();
|
||||||
backing_mem.reset();
|
backing_mem.reset();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
#if !QT_CONFIG(movie)
|
#if !QT_CONFIG(movie)
|
||||||
#define YUZU_QT_MOVIE_MISSING 1
|
#define SUYU_QT_MOVIE_MISSING 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Loader {
|
namespace Loader {
|
||||||
|
@ -64,7 +64,7 @@ signals:
|
||||||
void Hidden();
|
void Hidden();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#ifndef YUZU_QT_MOVIE_MISSING
|
#ifndef SUYU_QT_MOVIE_MISSING
|
||||||
std::unique_ptr<QMovie> animation;
|
std::unique_ptr<QMovie> animation;
|
||||||
std::unique_ptr<QBuffer> backing_buf;
|
std::unique_ptr<QBuffer> backing_buf;
|
||||||
std::unique_ptr<QByteArray> backing_mem;
|
std::unique_ptr<QByteArray> backing_mem;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -26,8 +26,8 @@ public:
|
||||||
explicit PlayTimeManager(Service::Account::ProfileManager& profile_manager);
|
explicit PlayTimeManager(Service::Account::ProfileManager& profile_manager);
|
||||||
~PlayTimeManager();
|
~PlayTimeManager();
|
||||||
|
|
||||||
YUZU_NON_COPYABLE(PlayTimeManager);
|
SUYU_NON_COPYABLE(PlayTimeManager);
|
||||||
YUZU_NON_MOVEABLE(PlayTimeManager);
|
SUYU_NON_MOVEABLE(PlayTimeManager);
|
||||||
|
|
||||||
u64 GetPlayTime(u64 program_id) const;
|
u64 GetPlayTime(u64 program_id) const;
|
||||||
void ResetProgramPlayTime(u64 program_id);
|
void ResetProgramPlayTime(u64 program_id);
|
||||||
|
|
Loading…
Reference in a new issue