Fix several merge conflicts and auto-formatting issues
This commit is contained in:
@@ -53,7 +53,8 @@ namespace AZ
|
||||
virtual void OnShaderReinitialized(const Shader& shader) { AZ_UNUSED(shader); }
|
||||
|
||||
//! Called when a particular shader variant is reinitialized.
|
||||
virtual void OnShaderVariantReinitialized(const ShaderVariant& shaderVariant) { AZ_UNUSED(shaderVariant); } };
|
||||
virtual void OnShaderVariantReinitialized(const ShaderVariant& shaderVariant) { AZ_UNUSED(shaderVariant); }
|
||||
};
|
||||
|
||||
typedef EBus<ShaderReloadNotifications> ShaderReloadNotificationBus;
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace AZ
|
||||
// Called by Shader. Initializes runtime data from asset data. Returns whether the call succeeded.
|
||||
bool Init(
|
||||
const Data::Asset<ShaderAsset>& shaderAsset,
|
||||
const Data::Asset<ShaderVariantAsset>& shaderVariantAsset);
|
||||
const Data::Asset<ShaderVariantAsset>& shaderVariantAsset,
|
||||
SupervariantIndex supervariantIndex);
|
||||
|
||||
// AssetBus overrides...
|
||||
@@ -77,6 +77,7 @@ namespace AZ
|
||||
Data::Asset<ShaderVariantAsset> m_shaderVariantAsset;
|
||||
|
||||
const RHI::RenderStates* m_renderStates = nullptr; // Cached from ShaderAsset.
|
||||
SupervariantIndex m_supervariantIndex;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,8 @@ namespace AZ
|
||||
{
|
||||
AZ_Assert(m_supervariantIndex != InvalidSupervariantIndex, "Invalid supervariant index");
|
||||
Data::AssetBus::Handler::BusDisconnect();
|
||||
ShaderReloadNotificationBus::Handler::BusDisconnect(); ShaderVariantFinderNotificationBus::Handler::BusDisconnect();
|
||||
ShaderReloadNotificationBus::Handler::BusDisconnect();
|
||||
ShaderVariantFinderNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
RHI::RHISystemInterface* rhiSystem = RHI::RHISystemInterface::Get();
|
||||
RHI::DrawListTagRegistry* drawListTagRegistry = rhiSystem->GetDrawListTagRegistry();
|
||||
@@ -81,7 +82,7 @@ namespace AZ
|
||||
AZStd::unique_lock<decltype(m_variantCacheMutex)> lock(m_variantCacheMutex);
|
||||
m_shaderVariants.clear();
|
||||
}
|
||||
m_rootVariant.Init(shaderAsset, shaderAsset.GetRootVariant());
|
||||
m_rootVariant.Init(m_asset, shaderAsset.GetRootVariant(), m_supervariantIndex);
|
||||
m_rootVariant.Init(Data::Asset<ShaderAsset>{&shaderAsset, AZ::Data::AssetLoadBehavior::PreLoad}, shaderAsset.GetRootVariant(m_supervariantIndex), m_supervariantIndex);
|
||||
|
||||
if (m_pipelineLibraryHandle.IsNull())
|
||||
@@ -212,9 +213,8 @@ namespace AZ
|
||||
else
|
||||
{
|
||||
//This is the first time the shader variant asset comes to life.
|
||||
ShaderVariant newVariant;
|
||||
newVariant.Init(m_asset, shaderVariantAsset, m_supervariantIndex);
|
||||
m_shaderVariants.emplace(stableId, newVariant);
|
||||
updatedVariant.Init(m_asset, shaderVariantAsset, m_supervariantIndex);
|
||||
m_shaderVariants.emplace(stableId, updatedVariant);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,9 +27,11 @@ namespace AZ
|
||||
const Data::Asset<ShaderVariantAsset>& shaderVariantAsset,
|
||||
SupervariantIndex supervariantIndex)
|
||||
{
|
||||
m_pipelineStateType = shaderAsset.GetPipelineStateType();
|
||||
m_pipelineLayoutDescriptor = shaderAsset.GetPipelineLayoutDescriptor(supervariantIndex); m_shaderVariantAsset = shaderVariantAsset;
|
||||
m_renderStates = &shaderAsset.GetRenderStates(supervariantIndex);
|
||||
m_pipelineStateType = shaderAsset->GetPipelineStateType();
|
||||
m_pipelineLayoutDescriptor = shaderAsset->GetPipelineLayoutDescriptor(supervariantIndex);
|
||||
m_shaderVariantAsset = shaderVariantAsset;
|
||||
m_renderStates = &shaderAsset->GetRenderStates(supervariantIndex);
|
||||
m_supervariantIndex = supervariantIndex;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -86,14 +88,14 @@ namespace AZ
|
||||
if (asset.GetAs<ShaderVariantAsset>())
|
||||
{
|
||||
Data::Asset<ShaderVariantAsset> shaderVariantAsset = { asset.GetAs<ShaderVariantAsset>(), AZ::Data::AssetLoadBehavior::PreLoad };
|
||||
Init(m_shaderAsset, shaderVariantAsset);
|
||||
Init(m_shaderAsset, shaderVariantAsset, m_supervariantIndex);
|
||||
ShaderReloadNotificationBus::Event(m_shaderAsset.GetId(), &ShaderReloadNotificationBus::Events::OnShaderVariantReinitialized, *this);
|
||||
}
|
||||
|
||||
if (asset.GetAs<ShaderAsset>())
|
||||
{
|
||||
Data::Asset<ShaderAsset> shaderAsset = { asset.GetAs<ShaderAsset>(), AZ::Data::AssetLoadBehavior::PreLoad };
|
||||
Init(shaderAsset, m_shaderVariantAsset);
|
||||
Init(shaderAsset, m_shaderVariantAsset, m_supervariantIndex);
|
||||
ShaderReloadNotificationBus::Event(m_shaderAsset.GetId(), &ShaderReloadNotificationBus::Events::OnShaderVariantReinitialized, *this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -528,7 +528,6 @@ namespace AZ
|
||||
{
|
||||
Data::Asset<ShaderVariantAsset> shaderVariantAsset = { asset.GetAs<ShaderVariantAsset>(), AZ::Data::AssetLoadBehavior::PreLoad };
|
||||
AZ_Assert(shaderVariantAsset->GetStableId() == RootShaderVariantStableId, "Was expecting to update the root variant");
|
||||
GetCurrentShaderApiData().m_rootShaderVariantAsset = asset;
|
||||
ShaderReloadNotificationBus::Event(GetId(), &ShaderReloadNotificationBus::Events::OnShaderAssetReinitialized, Data::Asset<ShaderAsset>{ this, AZ::Data::AssetLoadBehavior::PreLoad } );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user