DX11 requires every window to have it's own swap chain. #10 may not the right place for it. We could convert windows to handles (unsigned int) and store windows in the context along side driver specific info like the swapchains that could also use this handle to lookup the swapchain of that window. In sdl2_input_provider.h we could also replace the sdlOpenGLCtx with a struct that would contain all the driver specific info and pass that off to the driver to allow specific info like this to be stored/managed. Reusing makecurrent would be able to handle setting the swapchain correctly for both drivers this way as well. You can assign this one to me if you like since I'm already working that out. Right now it's working but only for the main window and I added a global disable for detaching windows atm. We could also just allow a Window struct to store specific data like this and forget a handle, the driver would know it's data stored in the window itself. I would rather go that route. Any thoughts?
DX11 requires every window to have it's own swap chain. #10 may not the right place for it. We could convert windows to handles (unsigned int) and store windows in the context along side driver specific info like the swapchains that could also use this handle to lookup the swapchain of that window. In sdl2_input_provider.h we could also replace the sdlOpenGLCtx with a struct that would contain all the driver specific info and pass that off to the driver to allow specific info like this to be stored/managed. Reusing makecurrent would be able to handle setting the swapchain correctly for both drivers this way as well. You can assign this one to me if you like since I'm already working that out. Right now it's working but only for the main window and I added a global disable for detaching windows atm. We could also just allow a Window struct to store specific data like this and forget a handle, the driver would know it's data stored in the window itself. I would rather go that route. Any thoughts?