Я пытаюсь удалить текстуру, когда я закончу с ней на Android под управлением OpenGLES 1.1
В Galaxy S (телефон) и Droid X, кажется, все работает нормально.На самом деле это работает слишком хорошо, мне, кажется, даже не нужно удалять текстуру, когда я покончу с этим, мне никогда не хватает памяти ...
На другом устройстве (не разрешенона данный момент) кажется, что glDeleteTextures не работает.После того, как я загрузил 6 больших текстур (и ряд других мелких), новые текстуры не могут быть загружены, они просто выходят белыми.
На нексусе у меня есть отчет, что он становится белым и выбрасываетследующий журнал ошибок
E / Adreno200-EGL (632): eglLockWindowSurface: не удалось сопоставить память для fd = 37 offs = 4796416 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось сопоставитьпамять для fd = 38 offs = 1662976 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось отобразить память для fd = 37 offs = 4796416 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось отобразить память для fd =38 offs = 1662976 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось отобразить память для fd = 37 offs = 4796416 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось сопоставить память для fd = 38 offs = 1662976E / Adreno200-EGL (632): eglLockWindowSurface: не удалось сопоставить память для fd = 37 offs = 4796416 E / Adreno200-EGL (632): eglLockWindowSurface: не удалось сопоставить память для fd = 38 offs = 1662976
Я далеко не эксперт по OpenGL, но: а) я не могу найти полный пример, который создает и удаляет текстуры, чтобы убедиться в правильности моего кода; б) точно такая же методика отлично работает на iPhone
Единственное, о чем я могу думать, это то, что я использую достаточное количество потоков, так что, возможно, мои открепления выходят из правильного потока или, в некотором смысле, не рассчитаны по времени.На данный момент у меня нет аппаратного обеспечения с такой ошибкой, поэтому я не могу проверить эту теорию, пока сам не получу другое устройство.
Вам нужно сделать что-то особенное перед удалением текстуры, или вам следуетбыть в состоянии просто вставить glDeleteTextures () куда угодно в вашем потоке, и он должен работать?
Извинения за то, что я не опубликовал пример кода, в настоящее время у меня есть некоторые ограничения на него.