nSight ist das Beste was ich bisher finden konnte, möglicherweise ist aber Renderdoc von Crytek auch noch einen Blick wert.
Allerdings würde ich behaupten, dass wenn du den Fehler mit nSight nicht findest, dir auch kein anderer Debugger weiter helfen wird. Es gibt eben kein magisches Tool, was dir sagt, was du falsch machst und das wird es auch nie geben. Möglicherweise verwendest du die API ja nur auf eine Art falsch, auf die ein schwarzer Bildschirm genau das gewünschte Ergebnis ist.
Was ansonsten immer ganz gut geht, ist das Programm so weit zu vereinfachen bis man den Fehler isoliert hat. Notfalls halt eine kleine Testanwendung nur für dein Beispiel schreiben. Wenn du deinen Code einfach von DX portiert hast ist es gut möglich, dass eine ganze Menge falsch ist, möglicherweise ist es dann schneller, nochmal von Grund auf neu anzufangen und Zwischenschritte zu haben, an denen du sehen kannst, ob bisher alles richtig funktioniert.
Achja: glGetError solltest du ganz schnell wieder vergessen. Man bekommt kaum Informationen und weiß noch nichtmal, wo der Fehler auftritt, wenn man es nicht absolut überall benutzt. Das nette an einem grafischen Debugger ist ja unter anderem, das er sich um alles kümmert, was man mit GetError abfragen könnte, und zwar wesentlich einfacher und mit mehr Infos. Man könnte GetError möglicherweise rechtfertigen, um einem Endkunden irgendwie eine Fehlermeldung anzuzeigen, aber für alles was mit Debuggen zu tun hat, würde ich es nie benutzen.