At the moment, GL context is set and reset for every GL call. That works fine with integrated video adapters like Intel, but doesn't work well with discrete ones, as resetting context may require synchronizing state.
Some sort of buffering needs to be implemented; to call multiple functions under a single glMakeCurrent.
Chromium source have a /gpu/command_buffer. Perhaps, it could be used as well.
At the moment, GL context is set and reset for every GL call. That works fine with integrated video adapters like Intel, but doesn't work well with discrete ones, as resetting context may require synchronizing state.
Some sort of buffering needs to be implemented; to call multiple functions under a single glMakeCurrent.
Chromium source have a /gpu/command_buffer. Perhaps, it could be used as well.