diff --git a/MobileGL/MG_Pipe/PipeApply.cpp b/MobileGL/MG_Pipe/PipeApply.cpp index e2ce647b..7b9e75c3 100644 --- a/MobileGL/MG_Pipe/PipeApply.cpp +++ b/MobileGL/MG_Pipe/PipeApply.cpp @@ -1999,7 +1999,8 @@ namespace MobileGL::MG_Pipe { // system. Textures only: a buffer's storage is the ops table's own Respecify hook, and // a renderbuffer has no levels. if (desc.Target != kMGPipeResourceTargetBuffer && - desc.Target != static_cast(MGPipeResourceTarget::Renderbuffer) && !metadataOnly) { + desc.Target != static_cast(MGPipeResourceTarget::Renderbuffer) && + (level != nullptr || !metadataOnly)) { if (g_resourceOps != nullptr && g_resourceOps->TextureRespecify != nullptr) g_resourceOps->TextureRespecify(desc.Resource, desc, level); else