diff options
author | Liam <byteslice@airmail.cc> | 2023-12-12 02:21:23 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-12-23 03:52:49 +0100 |
commit | 419055e484f0f0073d5832f7ded5fd3a3e5ad7de (patch) | |
tree | 81ff70e80fff780d6fb92f78a2df18cfc323df78 /src/core/hle/kernel/k_process.h | |
parent | Merge pull request #12412 from ameerj/gl-query-prims (diff) | |
download | yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar.gz yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar.bz2 yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar.lz yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar.xz yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.tar.zst yuzu-419055e484f0f0073d5832f7ded5fd3a3e5ad7de.zip |
Diffstat (limited to 'src/core/hle/kernel/k_process.h')
-rw-r--r-- | src/core/hle/kernel/k_process.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index 4b114e39b..53c0e3316 100644 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h @@ -7,6 +7,7 @@ #include "core/arm/arm_interface.h" #include "core/file_sys/program_metadata.h" +#include "core/gpu_dirty_memory_manager.h" #include "core/hle/kernel/code_set.h" #include "core/hle/kernel/k_address_arbiter.h" #include "core/hle/kernel/k_capabilities.h" @@ -17,6 +18,7 @@ #include "core/hle/kernel/k_system_resource.h" #include "core/hle/kernel/k_thread.h" #include "core/hle/kernel/k_thread_local_page.h" +#include "core/memory.h" namespace Kernel { @@ -126,6 +128,9 @@ private: #ifdef HAS_NCE std::unordered_map<u64, u64> m_post_handlers{}; #endif + std::array<Core::GPUDirtyMemoryManager, Core::Hardware::NUM_CPU_CORES> m_dirty_memory_managers; + std::unique_ptr<Core::ExclusiveMonitor> m_exclusive_monitor; + Core::Memory::Memory m_memory; private: Result StartTermination(); @@ -502,7 +507,15 @@ public: void InitializeInterfaces(); - Core::Memory::Memory& GetMemory() const; + Core::Memory::Memory& GetMemory() { + return m_memory; + } + + void GatherGPUDirtyMemory(std::function<void(VAddr, size_t)>& callback); + + Core::ExclusiveMonitor& GetExclusiveMonitor() const { + return *m_exclusive_monitor; + } public: // Overridden parent functions. |