summaryrefslogtreecommitdiff
path: root/indra/newview/gltf
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/gltf')
-rw-r--r--indra/newview/gltf/asset.cpp10
-rw-r--r--indra/newview/gltf/asset.h2
-rw-r--r--indra/newview/gltf/llgltfloader.cpp7
3 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/gltf/asset.cpp b/indra/newview/gltf/asset.cpp
index 129661c195..6576904874 100644
--- a/indra/newview/gltf/asset.cpp
+++ b/indra/newview/gltf/asset.cpp
@@ -489,22 +489,16 @@ void Asset::update()
bool Asset::prep()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_GLTF;
- // check required extensions and fail if not supported
- bool unsupported = false;
+ // check required extensions
for (auto& extension : mExtensionsRequired)
{
if (ExtensionsSupported.find(extension) == ExtensionsSupported.end())
{
LL_WARNS() << "Unsupported extension: " << extension << LL_ENDL;
- unsupported = true;
+ mUnsupportedExtension = true;
}
}
- if (unsupported)
- {
- return false;
- }
-
// do buffers first as other resources depend on them
for (auto& buffer : mBuffers)
{
diff --git a/indra/newview/gltf/asset.h b/indra/newview/gltf/asset.h
index 3cec18268b..3a20f7d6ea 100644
--- a/indra/newview/gltf/asset.h
+++ b/indra/newview/gltf/asset.h
@@ -396,6 +396,8 @@ namespace LL
U32 mMaterialsUBO = 0;
bool mLoadIntoVRAM = false;
+ bool mUnsupportedExtension = false;
+
// prepare for first time use
bool prep();
diff --git a/indra/newview/gltf/llgltfloader.cpp b/indra/newview/gltf/llgltfloader.cpp
index 5922385358..236c75a125 100644
--- a/indra/newview/gltf/llgltfloader.cpp
+++ b/indra/newview/gltf/llgltfloader.cpp
@@ -127,6 +127,13 @@ bool LLGLTFLoader::OpenFile(const std::string &filename)
return false;
}
+ if (mGLTFAsset.mUnsupportedExtension)
+ {
+ LLSD args;
+ args["Message"] = "UnsupportedExtension";
+ mWarningsArray.append(args);
+ }
+
mMeshesLoaded = parseMeshes();
if (mMeshesLoaded) uploadMeshes();