mirror of
https://github.com/zeldaret/botw
synced 2026-08-28 16:12:18 -04:00
ksys: Start adding OverlayArenaSystem
This commit is contained in:
@@ -131,7 +131,7 @@ protected:
|
||||
friend class TaskQueueBase;
|
||||
friend class TaskThread;
|
||||
|
||||
enum class Flag {
|
||||
enum class Flag : u8 {
|
||||
DeleteDelegate = 0x1,
|
||||
DoNotDeleteDelegate = 0x2,
|
||||
NeedsToSignalEvent = 0x4,
|
||||
@@ -173,7 +173,7 @@ protected:
|
||||
}
|
||||
|
||||
u8 mLaneId = 0;
|
||||
sead::TypedBitFlag<Flag, u8> mFlags = Flag::DoNotDeleteDelegate;
|
||||
sead::TypedBitFlag<Flag> mFlags = Flag::DoNotDeleteDelegate;
|
||||
bool mDelegateResult = false;
|
||||
TaskDelegate* mDelegate = nullptr;
|
||||
void* mUserData = nullptr;
|
||||
|
||||
@@ -57,7 +57,6 @@ void TaskQueueBase::clear() {
|
||||
mQueueEmptyEvent.wait();
|
||||
}
|
||||
|
||||
// NON_MATCHING: swapped operands for a csel. The arg.set_flag1 check looks suspicious.
|
||||
bool TaskQueueBase::init(const InitArg& arg) {
|
||||
if (arg.max_num_threads == 0)
|
||||
return false;
|
||||
@@ -65,10 +64,7 @@ bool TaskQueueBase::init(const InitArg& arg) {
|
||||
if (!mThreads.tryAllocBuffer(arg.max_num_threads, arg.heap))
|
||||
return false;
|
||||
|
||||
if (!arg.enable_locks)
|
||||
mFlags.reset(Flag::Lock);
|
||||
else
|
||||
mFlags.set(Flag::Lock);
|
||||
mFlags.change(Flag::Lock, arg.enable_locks);
|
||||
|
||||
if (arg.num_lanes <= 0 || arg.num_lanes > 0x100)
|
||||
return false;
|
||||
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
void fetchTask(Task** out_task);
|
||||
|
||||
protected:
|
||||
enum class Flag {
|
||||
enum class Flag : u8 {
|
||||
Lock = 0x1,
|
||||
PreventThreadPoolChanges = 0x2,
|
||||
};
|
||||
@@ -145,7 +145,7 @@ protected:
|
||||
|
||||
void notifyThreadsForNewTasks();
|
||||
|
||||
sead::TypedBitFlag<Flag, u8> mFlags;
|
||||
sead::TypedBitFlag<Flag> mFlags;
|
||||
sead::OffsetList<Task> mActiveTasks;
|
||||
sead::Buffer<Lane> mLanes;
|
||||
Event mQueueEmptyEvent;
|
||||
|
||||
Reference in New Issue
Block a user