Merge branch 'development' into Atom/santorac/FixSceneSrgTime

This commit is contained in:
santorac
2021-11-08 10:22:03 -08:00
160 changed files with 2551 additions and 2429 deletions
@@ -209,10 +209,6 @@ namespace AZ
//! Traversal will stop once all properties have been enumerated or the callback function returns false
void EnumeratePropertiesInDisplayOrder(const EnumeratePropertiesCallback& callback) const;
//! Convert the property value into the format that will be stored in the source data
//! This is primarily needed to support conversions of special types like enums and images
bool ConvertPropertyValueToSourceDataFormat(const PropertyDefinition& propertyDefinition, MaterialPropertyValue& propertyValue) const;
Outcome<Data::Asset<MaterialTypeAsset>> CreateMaterialTypeAsset(Data::AssetId assetId, AZStd::string_view materialTypeSourceFilePath = "", bool elevateWarnings = true) const;
//! Possibly renames @propertyId based on the material version update steps.
@@ -154,6 +154,8 @@ namespace AZ
ConstPtr<RHI::PipelineLibraryData> LoadPipelineLibrary() const;
void SavePipelineLibrary() const;
const ShaderVariant& GetVariantInternal(ShaderVariantStableId shaderVariantStableId);
///////////////////////////////////////////////////////////////////
/// AssetBus overrides
@@ -24,6 +24,9 @@ namespace AZ
class ShaderReloadDebugTracker final
{
public:
static void Init();
static void Shutdown();
static bool IsEnabled();
//! Begin a code section. Will print a "[BEGIN] <sectionName>" header, and all subsequent calls will be indented.
@@ -34,8 +37,8 @@ namespace AZ
if (IsEnabled())
{
const AZStd::string sectionName = AZStd::string::format(sectionNameFormat, args...);
AZ_TracePrintf("ShaderReloadDebug", "%*s [BEGIN] %s \n", s_indent, "", sectionName.c_str());
s_indent += IndentSpaces;
AZ_TracePrintf("ShaderReloadDebug", "%*s [BEGIN] %s \n", GetIndent(), "", sectionName.c_str());
AddIndent();
}
#endif
}
@@ -48,8 +51,8 @@ namespace AZ
if (IsEnabled())
{
const AZStd::string sectionName = AZStd::string::format(sectionNameFormat, args...);
s_indent -= IndentSpaces;
AZ_TracePrintf("ShaderReloadDebug", "%*s [_END_] %s \n", s_indent, "", sectionName.c_str());
RemoveIndent();
AZ_TracePrintf("ShaderReloadDebug", "%*s [_END_] %s \n", GetIndent(), "", sectionName.c_str());
}
#endif
}
@@ -63,7 +66,7 @@ namespace AZ
{
const AZStd::string message = AZStd::string::format(format, args...);
AZ_TracePrintf("ShaderReloadDebug", "%*s %s \n", s_indent, "", message.c_str());
AZ_TracePrintf("ShaderReloadDebug", "%*s %s \n", GetIndent(), "", message.c_str());
}
#endif
}
@@ -86,9 +89,12 @@ namespace AZ
};
private:
static bool s_enabled;
static int s_indent;
static constexpr int IndentSpaces = 4;
static void MakeReady();
static void AddIndent();
static void RemoveIndent();
static int GetIndent();
};
} // namespace RPI
@@ -96,7 +96,7 @@ namespace AZ
//! Return the timestamp when the shader asset was built.
//! This is used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload.
AZStd::sys_time_t GetShaderAssetBuildTimestamp() const;
AZStd::sys_time_t GetBuildTimestamp() const;
//! Returns the shader option group layout.
const ShaderOptionGroupLayout* GetShaderOptionGroupLayout() const;
@@ -297,7 +297,7 @@ namespace AZ
Name m_drawListName;
//! Use to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload.
AZStd::sys_time_t m_shaderAssetBuildTimestamp = 0;
AZStd::sys_time_t m_buildTimestamp = 0;
///////////////////////////////////////////////////////////////////