diff options
| -rw-r--r-- | indra/newview/gltf/asset.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/gltfscenemanager.cpp | 10 | 
2 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp index 5ba5951064..c210b9c61d 100644 --- a/indra/newview/gltf/asset.cpp +++ b/indra/newview/gltf/asset.cpp @@ -991,6 +991,12 @@ bool Image::prep(Asset& asset)          return false;      } +    if (!asset.mFilename.empty()) +    { // local preview, boost image so it doesn't discard and force to save raw image in case we save out or upload +        mTexture->setBoostLevel(LLViewerTexture::BOOST_PREVIEW); +        mTexture->forceToSaveRawImage(0, F32_MAX); +    } +      return true;  } diff --git a/indra/newview/gltfscenemanager.cpp b/indra/newview/gltfscenemanager.cpp index 9bda70e643..44564b7926 100644 --- a/indra/newview/gltfscenemanager.cpp +++ b/indra/newview/gltfscenemanager.cpp @@ -148,6 +148,16 @@ void GLTFSceneManager::uploadSelection()                      raw = image.mTexture->getRawImage();                  } +                if (raw.isNull()) +                { +                    raw = image.mTexture->getSavedRawImage(); +                } + +                if (raw.isNull()) +                { +                    image.mTexture->readbackRawImage(); +                } +                  if (raw.notNull())                  {                      LLPointer<LLImageJ2C> j2c = LLViewerTextureList::convertToUploadFile(raw);  | 
