From ecef0e88f3d71fb3e226b2cd0430e7a1f4203a6a Mon Sep 17 00:00:00 2001 From: mriegger Date: Thu, 13 May 2021 21:04:15 -0700 Subject: [PATCH 1/2] Fixing clone function --- .../Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp index 24857f8d65..e4bb379c6a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp @@ -134,7 +134,10 @@ namespace AZ { m_decalData.GetData(decal.GetIndex()) = m_decalData.GetData(sourceDecal.GetIndex()); const auto materialAsset = GetMaterialUsedByDecal(sourceDecal); - m_materialToTextureArrayLookupTable.at(materialAsset).m_useCount++; + if (materialAsset.IsValid()) + { + m_materialToTextureArrayLookupTable.at(materialAsset).m_useCount++; + } m_deviceBufferNeedsUpdate = true; } return decal; From c07c7d822ecd3374434abd81b226b77698195bea Mon Sep 17 00:00:00 2001 From: mriegger Date: Thu, 13 May 2021 21:16:32 -0700 Subject: [PATCH 2/2] Adding warning feedback from mnaumov --- .../Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp index e4bb379c6a..febb0b16c5 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp @@ -138,6 +138,10 @@ namespace AZ { m_materialToTextureArrayLookupTable.at(materialAsset).m_useCount++; } + else + { + AZ_Warning("DecalTextureArrayFeatureProcessor", false, "CloneDecal called on a decal with no material set."); + } m_deviceBufferNeedsUpdate = true; } return decal;