Зачастую в некоторых реализациях драйверов / OpenGL процесс создания окна имеет побочный эффект, заключающийся в том, чтобы определить, где на самом деле будет жить память для текстур, внеэкранные буферы и само окно и, следовательно, насколько оно будет большим.
Без создания окна (или, точнее, контекста рендеринга) сложно (т.е. невозможно) определить, куда поместить текстуру после загрузки.