mirror of
https://github.com/zeldaret/botw
synced 2026-06-28 18:40:45 -04:00
ksys/res: Implement ResourceMgrTask::calc_ and fix MemoryTaskRequest
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include <thread/seadThreadUtil.h>
|
||||
#include "KingSystem/Resource/resCompactedHeap.h"
|
||||
#include "KingSystem/Resource/resEntryFactory.h"
|
||||
#include "KingSystem/Resource/resMemoryTask.h"
|
||||
#include "KingSystem/Resource/resSystem.h"
|
||||
#include "KingSystem/Resource/resTextureHandleList.h"
|
||||
#include "KingSystem/Resource/resTextureHandleMgr.h"
|
||||
@@ -98,4 +99,26 @@ util::TaskThread* ResourceMgrTask::makeResourceLoadingThread(sead::Heap* heap,
|
||||
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0xa000, 32);
|
||||
}
|
||||
|
||||
bool ResourceMgrTask::calc_(void*) {
|
||||
if (mCacheControlFlags.testAndClear(CacheControlFlag::ClearAllCachesRequested)) {
|
||||
MemoryTaskRequest req;
|
||||
req.mLaneId = u8(LaneId::_9);
|
||||
req.mHasHandle = true;
|
||||
req.mSynchronous = true;
|
||||
req.mThread = mResourceMemoryThread;
|
||||
req.mDelegate = &mClearAllCachesFn;
|
||||
req.mName = "ClearAllCaches";
|
||||
req.mData_8 = false;
|
||||
req.mData_c = -1;
|
||||
|
||||
util::TaskMgrRequest request;
|
||||
request.request = &req;
|
||||
mResourceMemoryTaskMgr->submitRequest(request);
|
||||
mTexHandleMgr->clearAllCache();
|
||||
stubbedLogFunction();
|
||||
}
|
||||
clearUnits_();
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace ksys::res
|
||||
|
||||
Reference in New Issue
Block a user