The current architecture I’m working with has a frame of rendering performed by only a single thread at a time but which thread does the rendering can change from frame to frame. I believe the appropriate wglMakeCurrent calls are being made as it works without issue when nSight graphics debugging isn’t being used. Otherwise nSight seems to crash at SwapBuffers (sometimes at null sometimes at an address). I have .dmp’s with and without heaps I can send.
If I lock rendering to a single dedicated thread for every frame then it runs but this isn’t ideal. Is this just a restriction of nSight I wasn’t aware of?