Не надо ничего делать из второго контекста OpenGL. Серьезно. ПРОСТО НЕ НАДО. Если будет казаться, что наконец-то всё работает, то знайте: это только мираж. На самом деле, если мод запустит достаточно большое количество людей, то ждут вас только боль и разочарование от бесконечного разглядывания скриншотов со сломанной графикой и крашей хотспота из-за багов в драйверах.
Если правда нужно грузить из другого потока и не помогает просто разбить работу на части поменьше, то от дисплейлистов придется отказаться в пользу VBO, и грузить эти VBO через glMapBuffer() -> отдаем другому потоку заполнять этот буфер -> glUnmapBuffer(). Это рабочий вариант, протестировано на куче народа. А еще протестировано на куче народа немало попыток грузить данные в другом контексте, и выводы неутешительные: это, во-первых, тоже фризит на большом объеме данных, и, во-вторых, работает через раз. А компиляция дисплейлистов из другого потока вообще фризит примерно так же, как и компиляция из основного.