DRTVWR-559 Add paranoia checks around typecasts of LLGLTFMaterial to LLFetchedGLTFMaterial
parent
5f5bac8087
commit
d32bca67f1
|
|
@ -179,6 +179,7 @@ bool LLLocalGLTFMaterial::updateSelf()
|
|||
LLFetchedGLTFMaterial* render_mat = (LLFetchedGLTFMaterial*)entry->getGLTFRenderMaterial();
|
||||
if (render_mat)
|
||||
{
|
||||
llassert(dynamic_cast<LLFetchedGLTFMaterial*>(entry->getGLTFRenderMaterial()) != nullptr);
|
||||
*render_mat = *this;
|
||||
render_mat->applyOverride(*override_mat);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -573,6 +573,7 @@ void LLFloaterTexturePicker::draw()
|
|||
if (mInventoryPickType == LLTextureCtrl::PICK_MATERIAL)
|
||||
{
|
||||
mGLTFMaterial = (LLFetchedGLTFMaterial*) gGLTFMaterialList.getMaterial(mImageAssetID);
|
||||
llassert(mGLTFMaterial == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(gGLTFMaterialList.getMaterial(mImageAssetID)) != nullptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4957,10 +4957,12 @@ void LLViewerObject::updateTEMaterialTextures(U8 te)
|
|||
}
|
||||
|
||||
LLFetchedGLTFMaterial* mat = (LLFetchedGLTFMaterial*) getTE(te)->getGLTFRenderMaterial();
|
||||
llassert(mat == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(getTE(te)->getGLTFRenderMaterial()) != nullptr);
|
||||
LLUUID mat_id = getRenderMaterialID(te);
|
||||
if (mat == nullptr && mat_id.notNull())
|
||||
{
|
||||
mat = (LLFetchedGLTFMaterial*) gGLTFMaterialList.getMaterial(mat_id);
|
||||
llassert(mat == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(gGLTFMaterialList.getMaterial(mat_id)) != nullptr);
|
||||
if (mat->isFetching())
|
||||
{ // material is not loaded yet, rebuild draw info when the object finishes loading
|
||||
mat->onMaterialComplete([id=getID()]
|
||||
|
|
@ -5383,7 +5385,7 @@ S32 LLViewerObject::setTEGLTFMaterialOverride(U8 te, LLGLTFMaterial* override_ma
|
|||
}
|
||||
|
||||
LLFetchedGLTFMaterial* src_mat = (LLFetchedGLTFMaterial*) tep->getGLTFMaterial();
|
||||
|
||||
llassert(src_mat == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(tep->getGLTFMaterial()) != nullptr);
|
||||
// if override mat exists, we must also have a source mat
|
||||
if (!src_mat)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -914,6 +914,7 @@ void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imag
|
|||
// stats
|
||||
const LLTextureEntry* te = face->getTextureEntry();
|
||||
LLFetchedGLTFMaterial* mat = te ? (LLFetchedGLTFMaterial*)te->getGLTFRenderMaterial() : nullptr;
|
||||
llassert(mat == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(te->getGLTFRenderMaterial()) != nullptr);
|
||||
if (mat)
|
||||
{
|
||||
touch_texture(mat->mBaseColorTexture, vsize);
|
||||
|
|
|
|||
|
|
@ -5291,6 +5291,7 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,
|
|||
LLUUID mat_id;
|
||||
|
||||
auto* gltf_mat = (LLFetchedGLTFMaterial*) facep->getTextureEntry()->getGLTFRenderMaterial();
|
||||
llassert(gltf_mat == nullptr || dynamic_cast<LLFetchedGLTFMaterial*>(facep->getTextureEntry()->getGLTFRenderMaterial()) != nullptr);
|
||||
if (gltf_mat != nullptr)
|
||||
{
|
||||
mat_id = gltf_mat->getHash(); // TODO: cache this hash
|
||||
|
|
|
|||
Loading…
Reference in New Issue