Merge remote-tracking branch 'upstream/stabilization/2110' into Atom/santorac/MaterialEditorHandlesMissingTextures

This commit is contained in:
santorac
2021-11-11 13:13:23 -08:00
112 changed files with 1192 additions and 945 deletions
@@ -52,10 +52,8 @@ namespace AZ
AzFramework::AssetSystemRequestBus::BroadcastResult(
missingAssetStatus, &AzFramework::AssetSystem::AssetSystemRequests::GetAssetStatusById, asset.GetId().m_guid);
// Generate asset info to use to register the fallback asset with the asset catalog
Data::AssetInfo assetInfo;
assetInfo.m_relativePath = DefaultImageAssetPaths::DefaultFallback;
assetInfo.m_assetType = azrtti_typeid<StreamingImageAsset>();
// Determine which fallback image to use
const char* relativePath = DefaultImageAssetPaths::DefaultFallback;
bool useDebugFallbackImages = true;
if (auto settingsRegistry = AZ::SettingsRegistry::Get(); settingsRegistry != nullptr)
@@ -69,15 +67,15 @@ namespace AZ
{
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Queued:
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Compiling:
assetInfo.m_relativePath = DefaultImageAssetPaths::Processing;
relativePath = DefaultImageAssetPaths::Processing;
break;
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Failed:
assetInfo.m_relativePath = DefaultImageAssetPaths::ProcessingFailed;
relativePath = DefaultImageAssetPaths::ProcessingFailed;
break;
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Missing:
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Unknown:
case AzFramework::AssetSystem::AssetStatus::AssetStatus_Compiled:
assetInfo.m_relativePath = DefaultImageAssetPaths::Missing;
relativePath = DefaultImageAssetPaths::Missing;
break;
}
}
@@ -85,20 +83,16 @@ namespace AZ
// Make sure the fallback image has been processed
AzFramework::AssetSystem::AssetStatus status = AzFramework::AssetSystem::AssetStatus_Unknown;
AzFramework::AssetSystemRequestBus::BroadcastResult(
status, &AzFramework::AssetSystemRequestBus::Events::CompileAssetSync, assetInfo.m_relativePath);
// Generate the id of the fallback image
Data::AssetCatalogRequestBus::BroadcastResult(
assetInfo.m_assetId, &Data::AssetCatalogRequestBus::Events::GenerateAssetIdTEMP,
assetInfo.m_relativePath.c_str());
assetInfo.m_assetId.m_subId = StreamingImageAsset::GetImageAssetSubId();
// Register the fallback image with the asset catalog
Data::AssetCatalogRequestBus::Broadcast(&Data::AssetCatalogRequestBus::Events::RegisterAsset, assetInfo.m_assetId, assetInfo);
status, &AzFramework::AssetSystemRequestBus::Events::CompileAssetSync, relativePath);
// Return the asset id of the fallback image
return assetInfo.m_assetId;
Data::AssetId assetId{};
bool autoRegisterIfNotFound = false;
Data::AssetCatalogRequestBus::BroadcastResult(
assetId, &Data::AssetCatalogRequestBus::Events::GetAssetIdByPath, relativePath,
azrtti_typeid<AZ::RPI::StreamingImageAsset>(), autoRegisterIfNotFound);
return assetId;
}
}
}
} // namespace RPI
} // namespace AZ