mirror of
https://github.com/ppy/osu
synced 2024-12-18 04:46:09 +00:00
Add extended logging to NVAPI operations
To help diagnose https://github.com/ppy/osu/issues/30546.
This commit is contained in:
parent
ce9c74af85
commit
d8fc7b1803
@ -141,12 +141,12 @@ namespace osu.Desktop
|
||||
|
||||
// Make sure that this is a laptop.
|
||||
IntPtr[] gpus = new IntPtr[64];
|
||||
if (checkError(EnumPhysicalGPUs(gpus, out int gpuCount)))
|
||||
if (checkError(EnumPhysicalGPUs(gpus, out int gpuCount), nameof(EnumPhysicalGPUs)))
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < gpuCount; i++)
|
||||
{
|
||||
if (checkError(GetSystemType(gpus[i], out var type)))
|
||||
if (checkError(GetSystemType(gpus[i], out var type), nameof(GetSystemType)))
|
||||
return false;
|
||||
|
||||
if (type == NvSystemType.LAPTOP)
|
||||
@ -182,7 +182,7 @@ namespace osu.Desktop
|
||||
|
||||
bool success = setSetting(NvSettingID.OGL_THREAD_CONTROL_ID, (uint)value);
|
||||
|
||||
Logger.Log(success ? $"Threaded optimizations set to \"{value}\"!" : "Threaded optimizations set failed!");
|
||||
Logger.Log(success ? $"[NVAPI] Threaded optimizations set to \"{value}\"!" : "[NVAPI] Threaded optimizations set failed!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ namespace osu.Desktop
|
||||
|
||||
uint numApps = profile.NumOfApps;
|
||||
|
||||
if (checkError(EnumApplications(sessionHandle, profileHandle, 0, ref numApps, applications)))
|
||||
if (checkError(EnumApplications(sessionHandle, profileHandle, 0, ref numApps, applications), nameof(EnumApplications)))
|
||||
return false;
|
||||
|
||||
for (uint i = 0; i < numApps; i++)
|
||||
@ -236,10 +236,10 @@ namespace osu.Desktop
|
||||
|
||||
isApplicationSpecific = true;
|
||||
|
||||
if (checkError(FindApplicationByName(sessionHandle, osu_filename, out profileHandle, ref application)))
|
||||
if (checkError(FindApplicationByName(sessionHandle, osu_filename, out profileHandle, ref application), nameof(FindApplicationByName)))
|
||||
{
|
||||
isApplicationSpecific = false;
|
||||
if (checkError(GetCurrentGlobalProfile(sessionHandle, out profileHandle)))
|
||||
if (checkError(GetCurrentGlobalProfile(sessionHandle, out profileHandle), nameof(GetCurrentGlobalProfile)))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -263,7 +263,7 @@ namespace osu.Desktop
|
||||
|
||||
newProfile.GPUSupport[0] = 1;
|
||||
|
||||
if (checkError(CreateProfile(sessionHandle, ref newProfile, out profileHandle)))
|
||||
if (checkError(CreateProfile(sessionHandle, ref newProfile, out profileHandle), nameof(CreateProfile)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@ -284,7 +284,7 @@ namespace osu.Desktop
|
||||
SettingID = settingId
|
||||
};
|
||||
|
||||
if (checkError(GetSetting(sessionHandle, profileHandle, settingId, ref setting)))
|
||||
if (checkError(GetSetting(sessionHandle, profileHandle, settingId, ref setting), nameof(GetSetting)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@ -313,7 +313,7 @@ namespace osu.Desktop
|
||||
};
|
||||
|
||||
// Set the thread state
|
||||
if (checkError(SetSetting(sessionHandle, profileHandle, ref newSetting)))
|
||||
if (checkError(SetSetting(sessionHandle, profileHandle, ref newSetting), nameof(SetSetting)))
|
||||
return false;
|
||||
|
||||
// Get the profile (needed to check app count)
|
||||
@ -321,7 +321,7 @@ namespace osu.Desktop
|
||||
{
|
||||
Version = NvProfile.Stride
|
||||
};
|
||||
if (checkError(GetProfileInfo(sessionHandle, profileHandle, ref profile)))
|
||||
if (checkError(GetProfileInfo(sessionHandle, profileHandle, ref profile), nameof(GetProfileInfo)))
|
||||
return false;
|
||||
|
||||
if (!containsApplication(profileHandle, profile, out application))
|
||||
@ -332,12 +332,12 @@ namespace osu.Desktop
|
||||
application.AppName = osu_filename;
|
||||
application.UserFriendlyName = APPLICATION_NAME;
|
||||
|
||||
if (checkError(CreateApplication(sessionHandle, profileHandle, ref application)))
|
||||
if (checkError(CreateApplication(sessionHandle, profileHandle, ref application), nameof(CreateApplication)))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Save!
|
||||
return !checkError(SaveSettings(sessionHandle));
|
||||
return !checkError(SaveSettings(sessionHandle), nameof(SaveSettings));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -346,20 +346,25 @@ namespace osu.Desktop
|
||||
/// <returns>If the operation succeeded.</returns>
|
||||
private static bool createSession()
|
||||
{
|
||||
if (checkError(CreateSession(out sessionHandle)))
|
||||
if (checkError(CreateSession(out sessionHandle), nameof(CreateSession)))
|
||||
return false;
|
||||
|
||||
// Load settings into session
|
||||
if (checkError(LoadSettings(sessionHandle)))
|
||||
if (checkError(LoadSettings(sessionHandle), nameof(LoadSettings)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool checkError(NvStatus status)
|
||||
private static bool checkError(NvStatus status, string caller)
|
||||
{
|
||||
Status = status;
|
||||
return status != NvStatus.OK;
|
||||
|
||||
bool hasError = status != NvStatus.OK;
|
||||
if (hasError)
|
||||
Logger.Log($"[NVAPI] {caller} call failed with status code {status}");
|
||||
|
||||
return hasError;
|
||||
}
|
||||
|
||||
static NVAPI()
|
||||
|
Loading…
Reference in New Issue
Block a user