diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llface.cpp | 20 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 1 | 
2 files changed, 14 insertions, 7 deletions
| diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index d7e4632ab0..5554112043 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1081,21 +1081,27 @@ void LLFace::updateRebuildFlags()  bool LLFace::canRenderAsMask()  { -	if (LLPipeline::sNoAlpha) +	const LLTextureEntry* te = getTextureEntry(); +	if( !te || !getViewerObject() || !getTexture() )  	{ -		return true; +		return false;  	} +    if (te->getGLTFRenderMaterial()) +    { +        return false; +    } + +    if (LLPipeline::sNoAlpha) +    { +        return true; +    } +      if (isState(LLFace::RIGGED))      { // never auto alpha-mask rigged faces          return false;      } -	const LLTextureEntry* te = getTextureEntry(); -	if( !te || !getViewerObject() || !getTexture() ) -	{ -		return false; -	}  	LLMaterial* mat = te->getMaterialParams();  	if (mat && mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_BLEND) diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 9a5719d8b6..a73d149b10 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -5467,6 +5467,7 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,  		draw_info->validate();  	} +    llassert(info->mGLTFMaterial == nullptr || (info->mVertexBuffer->getTypeMask() & LLVertexBuffer::MAP_TANGENT) != 0);      llassert(type != LLPipeline::RENDER_TYPE_PASS_GLTF_PBR || info->mGLTFMaterial != nullptr);      llassert(type != LLPipeline::RENDER_TYPE_PASS_GLTF_PBR_RIGGED || info->mGLTFMaterial != nullptr);      llassert(type != LLPipeline::RENDER_TYPE_PASS_GLTF_PBR_ALPHA_MASK || info->mGLTFMaterial != nullptr); | 
