Хорошо, вот что случилось, и, таким образом, выбрав это как ответ на этот пост.Код единства, в котором я создал текстуры, я также попытался установить по умолчанию в белый цвет.Я сделал это, назначив m_tex = Texture2D.whiteTexture.Намерение было сделать что-то вроде m_tex.whiteTexture;что недопустимо, поэтому оказалось, что я сделал: -)
Под капотом похоже, что Unity использует вызов glTexStorage2D () для Texture2D.whiteTexture, который я случайно создал заново, что делает его неизменным.Сам факт того, что мне пришлось изменить размер моего оригинального текста, должен был сделать для меня очевидным, что я получил новую текстуру вместо смены цвета, но так много для моего внимания к интерпретации вызовов gl и кодов ошибок в моем родном коде.После комментирования этого whiteTexture и изменения размера больше нет ошибок gl:
m_tex = new Texture2D(1920, 1080, TextureFormat.RGBA32, false);
m_tex.filterMode = FilterMode.Bilinear;
//m_tex = Texture2D.whiteTexture;
//m_tex.Resize(1920, 1080);
m_tex.Apply();
Еще одно примечание. Я продолжаю использовать только вызов glTexSubImage2D с пиксельными данными, передаваемыми в том же вызове, что и в предыдущем посте выше.Я не использую glTexImage.Я предполагаю, что Unity использует ARB_texture_storage extension для всех текстур, таким образом делая эти текстуры неизменяемыми.Вот примечание от расширения:
When using this extension, it is no longer possible to supply texture
data using TexImage*. Instead, data can be uploaded using TexSubImage*,
or produced by other means (such as render-to-texture, mipmap generation,
or rendering to a sibling EGLImage).
ThankYou @ Rabbid76 и @solidpixel.Я уверен, что все комментарии будут полезны для других.Приветствия: -)