无法使用 Nsight 调试着色器

Unable to debug shaders using Nsight

我编写了一个 OpenGL 应用程序,其中使用了 2 个着色器程序,都配备了一个顶点着色器和一个片段着色器 着色器程序看起来工作正常 但是当我尝试使用 Nsight 4.6 调试这些着色器程序时,我发现我无法在 "Shaders list" window 中找到任何着色器。 顺便说一句,我在笔记本电脑上使用 GPU(NVIDIA GeForce GTX760M)

我猜你的 OGL 样本可能仍然 运行在你笔记本电脑的 iGPU 上运行,但不是 NV 的独立 GPU。请尝试添加一些代码来识别您的渲染器:

const GLubyte* glvendro = glGetString(GL_VENDOR);
const GLubyte* glrenderer = glGetString(GL_RENDERER);

确保它是 NV 的 GPU。

如果显示非NV的GPU,说明驱动选择了其他GPU,请尝试强制禁用该GPU,确保驱动只找到NV的GPU。

我知道你的意思 'switch the power management state to maxinum power, with GTX760M GPU forced on',但这可能行不通,你必须以硬件方式禁用非 NV GPU,进入你的 BIOS 并禁用 iGPU。

如果您在 BIOS 中找不到该选项,只需找到另一台显示器,将其连接到 NV 的 dGPU 输出 [HDMI 或 DP],在该显示器上强制您的示例 运行 将使其使用 dGPU .

谢谢 一个

似乎与 Nvidia 开发论坛中的帖子重复 https://devtalk.nvidia.com/default/topic/830717/nsight-visual-studio-edition/nsight-shader-list-is-empty/

您无法在启用 Optimus 的笔记本电脑上使用当前版本的 NSight 调试着色器代码。

来源:https://developer.nvidia.com/nsight-visual-studio-edition-requirements