Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes2_FIX2

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
This commit is contained in:
santorac
2022-01-24 10:54:03 -08:00
408 changed files with 7668 additions and 3376 deletions
@@ -267,7 +267,7 @@ namespace AZ
return m_visScene->GetEntryCount();
}
struct WorklistData
{
CullingDebugContext* m_debugCtx = nullptr;
@@ -296,13 +296,13 @@ namespace AZ
#endif
return worklistData;
}
constexpr size_t WorkListCapacity = 5;
using WorkListType = AZStd::fixed_vector<AzFramework::IVisibilityScene::NodeData, WorkListCapacity>;
#if AZ_TRAIT_MASKED_OCCLUSION_CULLING_SUPPORTED
static MaskedOcclusionCulling::CullingResult TestOcclusionCulling(
const AZStd::shared_ptr<WorklistData>& worklistData,
const AZStd::shared_ptr<WorklistData>& worklistData,
AzFramework::VisibilityEntry* visibleEntry);
#endif
@@ -312,7 +312,7 @@ namespace AZ
const View::UsageFlags viewFlags = worklistData->m_view->GetUsageFlags();
const RHI::DrawListMask drawListMask = worklistData->m_view->GetDrawListMask();
uint32_t numDrawPackets = 0;
[[maybe_unused]] uint32_t numDrawPackets = 0;
uint32_t numVisibleCullables = 0;
AZ_Assert(worklist.size() > 0, "Received empty worklist in ProcessWorklist");
@@ -320,8 +320,8 @@ namespace AZ
for (const AzFramework::IVisibilityScene::NodeData& nodeData : worklist)
{
//If a node is entirely contained within the frustum, then we can skip the fine grained culling.
bool nodeIsContainedInFrustum =
!worklistData->m_debugCtx->m_enableFrustumCulling ||
bool nodeIsContainedInFrustum =
!worklistData->m_debugCtx->m_enableFrustumCulling ||
ShapeIntersection::Contains(worklistData->m_frustum, nodeData.m_bounds);
#ifdef AZ_CULL_PROFILE_VERBOSE
@@ -465,7 +465,7 @@ namespace AZ
#if AZ_TRAIT_MASKED_OCCLUSION_CULLING_SUPPORTED
static MaskedOcclusionCulling::CullingResult TestOcclusionCulling(
const AZStd::shared_ptr<WorklistData>& worklistData,
const AZStd::shared_ptr<WorklistData>& worklistData,
AzFramework::VisibilityEntry* visibleEntry)
{
if (!worklistData->m_maskedOcclusionCulling)
@@ -527,9 +527,9 @@ namespace AZ
#endif
void CullingScene::ProcessCullablesCommon(
const Scene& scene [[maybe_unused]],
View& view,
AZ::Frustum& frustum [[maybe_unused]],
const Scene& scene [[maybe_unused]],
View& view,
AZ::Frustum& frustum [[maybe_unused]],
void*& maskedOcclusionCulling [[maybe_unused]])
{
AZ_PROFILE_SCOPE(RPI, "CullingScene::ProcessCullablesCommon() - %s", view.GetName().GetCStr());
@@ -898,7 +898,7 @@ namespace AZ
{
const Matrix4x4& worldToClip = viewPtr->GetWorldToClipMatrix();
Frustum frustum = Frustum::CreateFromMatrixColumnMajor(worldToClip, Frustum::ReverseDepth::True);
m_debugCtx.m_frozenFrustums.insert({ viewPtr.get(), frustum });
m_debugCtx.m_frozenFrustums.insert({ viewPtr.get(), frustum });
}
}
}
@@ -911,7 +911,7 @@ namespace AZ
}
void CullingScene::EndCulling()
{
{
m_cullDataConcurrencyCheck.soft_unlock();
}
@@ -322,7 +322,7 @@ namespace AZ
void Scene::RemoveRenderPipeline(const RenderPipelineId& pipelineId)
{
bool removed = false;
[[maybe_unused]] bool removed = false;
for (auto it = m_pipelines.begin(); it != m_pipelines.end(); ++it)
{
if (pipelineId == (*it)->GetId())
@@ -11,13 +11,13 @@
#include <Atom/RPI.Reflect/Shader/ShaderAsset.h>
#include <AzFramework/IO/LocalFileIO.h>
#include <AzCore/Debug/Profiler.h>
#include <AzCore/Interface/Interface.h>
#include <AzCore/IO/SystemFile.h>
#include <AzCore/Utils//Utils.h>
#include <AzCore/Serialization/Json/JsonUtils.h>
#include <AzFramework/IO/LocalFileIO.h>
namespace AZ
{