Missed change
Some checks failed
Formatting check / formatting-check (push) Has been cancelled
Build RPCS3 Qt UI (Legacy) / RPCS3 Qt UI (Legacy) for Linux ${{ matrix.os }} ${{ matrix.compiler }} (.ci/build-linux-aarch64.sh, clang, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 Qt UI (Legacy) / RPCS3 Qt UI (Legacy) for Linux ${{ matrix.os }} ${{ matrix.compiler }} (.ci/build-linux.sh, clang, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 Qt UI (Legacy) / RPCS3 Qt UI (Legacy) for Linux ${{ matrix.os }} ${{ matrix.compiler }} (.ci/build-linux.sh, gcc, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 Qt UI (Legacy) / RPCS3 Qt UI (Legacy) for Windows (push) Has been cancelled
Build RPCSX / build-linux (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv8-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv8.1-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv8.2-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv8.4-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv8.5-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv9-a) (push) Has been cancelled
Build RPCSX / build-android (arm64-v8a, armv9.1-a) (push) Has been cancelled
Build RPCSX / build-android (x86_64, x86-64) (push) Has been cancelled

This commit is contained in:
DH 2025-09-22 04:17:21 +03:00
parent 8799c764dd
commit 0d0b75f686

View file

@ -1,5 +1,6 @@
#pragma once
#include "AppInfo.hpp"
#include "Budget.hpp"
#include "KernelAllocator.hpp"
#include "evf.hpp"
#include "ipmi.hpp"
@ -14,6 +15,7 @@
#include <cstdint>
#include <mutex>
#include <pthread.h>
#include <span>
#include <utility>
namespace orbis {
@ -193,14 +195,16 @@ public:
Ref<RcBase> shmDevice;
Ref<RcBase> dmemDevice;
Ref<RcBase> blockpoolDevice;
shared_mutex gpuDeviceMtx;
Ref<RcBase> gpuDevice;
Ref<RcBase> dceDevice;
shared_mutex gpuDeviceMtx;
uint sdkVersion{};
uint fwSdkVersion{};
uint safeMode{};
utils::RcIdMap<RcBase, sint, 4097, 1> ipmiMap;
RcIdMap<RcAppInfo> appInfos;
RcIdMap<Budget, sint, 4097, 1> budgets;
Ref<Budget> processTypeBudgets[4];
shared_mutex regMgrMtx;
kmap<std::uint32_t, std::uint32_t> regMgrInt;
@ -209,6 +213,19 @@ public:
FwType fwType = FwType::Unknown;
bool isDevKit = false;
Ref<Budget> createProcessTypeBudget(Budget::ProcessType processType,
std::string_view name,
std::span<const BudgetInfo> items) {
auto budget = orbis::knew<orbis::Budget>(name, processType, items);
processTypeBudgets[static_cast<int>(processType)] =
orbis::knew<orbis::Budget>(name, processType, items);
return budget;
}
Ref<Budget> getProcessTypeBudget(Budget::ProcessType processType) {
return processTypeBudgets[static_cast<int>(processType)];
}
private:
shared_mutex m_heap_mtx;
shared_mutex m_heap_map_mtx;