sysclk: fix resolution driver again

This commit is contained in:
souldbminersmwc
2026-03-19 19:57:03 -04:00
parent 7244093f21
commit 2454afd58f
2 changed files with 6 additions and 22 deletions

View File

@@ -623,15 +623,15 @@ void ClockManager::HandleGovernor(uint32_t targetHz) {
isVRREnabled = newVrrGovernorState;
if(newCpuGovernorState == false && lastCpuGovernorState == true) {
svcSleepThread(50'000'000); // thread syncing. probably a cleaner way to do this but hey, it works!
svcSleepThread(100'000'000); // thread syncing. probably a cleaner way to do this but hey, it works!
Board::ResetToStockCpu();
}
if(newGpuGovernorState == false && lastGpuGovernorState == true) {
svcSleepThread(50'000'000);
svcSleepThread(100'000'000);
Board::ResetToStockGpu();
}
if (newVrrGovernorState == false && lastVrrGovernorState == true) {
svcSleepThread(50'000'000);
svcSleepThread(100'000'000);
Board::ResetToStockDisplay();
}
if(newCpuGovernorState != lastCpuGovernorState || newGpuGovernorState != lastGpuGovernorState || newVrrGovernorState != lastVrrGovernorState) {

View File

@@ -110,19 +110,6 @@ u8 SaltyNXIntegration::GetFPS() {
return NxFps ? NxFps->FPS : 254;
}
struct resolutionCalls { // classes are bad :)
uint16_t width;
uint16_t height;
uint16_t calls;
};
resolutionCalls m_resolutionRenderCalls[8] = {0};
int compare (const void* elem1, const void* elem2) {
if ((((resolutionCalls*)(elem1))->calls) > (((resolutionCalls*)(elem2))->calls)) return -1;
else return 1;
}
u16 SaltyNXIntegration::GetResolutionHeight() {
if (!SharedMemoryUsed)
return 0;
@@ -141,13 +128,10 @@ u16 SaltyNXIntegration::GetResolutionHeight() {
searchSharedMemoryBlock(base);
}
if(NxFps) {
NxFps -> renderCalls[0].calls = 0xFFFF;
NxFps->renderCalls[0].calls = 0xFFFF;
svcSleepThread(10*1000);
memcpy(&m_resolutionRenderCalls, &(NxFps->renderCalls), sizeof(m_resolutionRenderCalls));
qsort(m_resolutionRenderCalls, 8, sizeof(resolutionCalls), compare);
return NxFps->viewportCalls[0].height;
return NxFps->renderCalls[0].height == 0 ? NxFps->viewportCalls[0].height : NxFps->renderCalls[0].height;
}
return 0;
}