Skip to content

Commit

Permalink
Merge pull request #85121 from jsjtxietian/return-early-nv
Browse files Browse the repository at this point in the history
Prevent crash in  `_nvapi_disable_threaded_optimization` when attached to renderdoc
  • Loading branch information
akien-mga committed Nov 21, 2023
2 parents 1e6b416 + a3f44cd commit b5779cc
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions platform/windows/gl_manager_windows_native.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ static bool nvapi_err_check(const char *msg, int status) {
}

// On windows we have to disable threaded optimization when using NVIDIA graphics cards
// to avoid stuttering, see https://github.com/microsoft/vscode-cpptools/issues/6592
// also see https://github.com/Ryujinx/Ryujinx/blob/master/Ryujinx.Common/GraphicsDriver/NVThreadedOptimization.cs
// to avoid stuttering, see see https://stackoverflow.com/questions/36959508/nvidia-graphics-driver-causing-noticeable-frame-stuttering/37632948
// also see https://github.com/Ryujinx/Ryujinx/blob/master/src/Ryujinx.Common/GraphicsDriver/NVThreadedOptimization.cs
void GLManagerNative_Windows::_nvapi_disable_threaded_optimization() {
HMODULE nvapi = 0;
#ifdef _WIN64
Expand Down Expand Up @@ -149,6 +149,10 @@ void GLManagerNative_Windows::_nvapi_disable_threaded_optimization() {

NvDRSSessionHandle session_handle;

if (NvAPI_DRS_CreateSession == nullptr) {
return;
}

if (!nvapi_err_check("NVAPI: Error creating DRS session", NvAPI_DRS_CreateSession(&session_handle))) {
NvAPI_Unload();
return;
Expand Down

0 comments on commit b5779cc

Please sign in to comment.