Changing all ClearPass to SlowClearPass

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
monroegm-disable-blank-issue-2
antonmic 4 years ago
parent 2bc381811d
commit 53cf7b462b

@ -9,7 +9,7 @@
// If you want to clear an attachment you should
// use the LoadStoreAction on your pass slot.
"Name": "SlowClearPassTemplate",
"PassClass": "ClearPass",
"PassClass": "SlowClearPass",
"Slots": [
{
"Name": "ClearInputOutput",

@ -17,21 +17,21 @@ namespace AZ
//! Only use this for debug purposes and edge cases
//! The correct and efficient way to clear a pass is through the LoadStoreAction on the pass slot
//! This will clear a given image attachment to the specified clear value.
class ClearPass
class SlowClearPass
: public RenderPass
{
AZ_RPI_PASS(ClearPass);
AZ_RPI_PASS(SlowClearPass);
public:
AZ_RTTI(ClearPass, "{31CBAD6C-108F-4F3F-B498-ED968DFCFCE2}", RenderPass);
AZ_CLASS_ALLOCATOR(ClearPass, SystemAllocator, 0);
virtual ~ClearPass() = default;
AZ_RTTI(SlowClearPass, "{31CBAD6C-108F-4F3F-B498-ED968DFCFCE2}", RenderPass);
AZ_CLASS_ALLOCATOR(SlowClearPass, SystemAllocator, 0);
virtual ~SlowClearPass() = default;
//! Creates a ClearPass
static Ptr<ClearPass> Create(const PassDescriptor& descriptor);
//! Creates a SlowClearPass
static Ptr<SlowClearPass> Create(const PassDescriptor& descriptor);
protected:
ClearPass(const PassDescriptor& descriptor);
SlowClearPass(const PassDescriptor& descriptor);
void InitializeInternal() override;
private:

@ -14,23 +14,23 @@ namespace AZ
{
namespace RPI
{
//! Custom data for the ClearPass. Should be specified in the PassRequest.
struct ClearPassData
//! Custom data for the SlowClearPass. Should be specified in the PassRequest.
struct SlowClearPassData
: public RenderPassData
{
AZ_RTTI(ClearPassData, "{5F2C24A4-62D0-4E60-91EC-C207C10D15C6}", RenderPassData);
AZ_CLASS_ALLOCATOR(ClearPassData, SystemAllocator, 0);
AZ_RTTI(SlowClearPassData, "{5F2C24A4-62D0-4E60-91EC-C207C10D15C6}", RenderPassData);
AZ_CLASS_ALLOCATOR(SlowClearPassData, SystemAllocator, 0);
ClearPassData() = default;
virtual ~ClearPassData() = default;
SlowClearPassData() = default;
virtual ~SlowClearPassData() = default;
static void Reflect(ReflectContext* context)
{
if (auto* serializeContext = azrtti_cast<SerializeContext*>(context))
{
serializeContext->Class<ClearPassData, RenderPassData>()
serializeContext->Class<SlowClearPassData, RenderPassData>()
->Version(0)
->Field("ClearValue", &ClearPassData::m_clearValue)
->Field("ClearValue", &SlowClearPassData::m_clearValue)
;
}
}

@ -9,14 +9,14 @@
#include <AtomCore/Instance/InstanceDatabase.h>
#include <AtomCore/std/containers/vector_set.h>
#include <Atom/RPI.Public/Pass/ClearPass.h>
#include <Atom/RPI.Public/Pass/SlowClearPass.h>
#include <Atom/RPI.Public/Pass/ParentPass.h>
#include <Atom/RPI.Public/Pass/PassAttachment.h>
#include <Atom/RPI.Public/Pass/PassDefines.h>
#include <Atom/RPI.Public/Pass/PassSystemInterface.h>
#include <Atom/RPI.Public/RenderPipeline.h>
#include <Atom/RPI.Reflect/Pass/ClearPassData.h>
#include <Atom/RPI.Reflect/Pass/SlowClearPassData.h>
#include <Atom/RPI.Reflect/Pass/PassName.h>
#include <Atom/RPI.Reflect/Pass/PassRequest.h>
@ -231,7 +231,7 @@ namespace AZ
clearRequest.m_connections[0].m_attachmentRef.m_attachment = binding.m_name;
// Set the pass clear value to the clear value of the attachment binding
ClearPassData* clearData = static_cast<ClearPassData*>(clearRequest.m_passData.get());
SlowClearPassData* clearData = static_cast<SlowClearPassData*>(clearRequest.m_passData.get());
clearData->m_clearValue = binding.m_unifiedScopeDesc.m_loadStoreAction.m_clearValue;
// Create and add the pass
@ -248,7 +248,7 @@ namespace AZ
{
PassRequest clearRequest;
clearRequest.m_templateName = Name("SlowClearPassTemplate");
clearRequest.m_passData = AZStd::make_shared<ClearPassData>();
clearRequest.m_passData = AZStd::make_shared<SlowClearPassData>();
clearRequest.m_connections.push_back();
clearRequest.m_connections[0].m_localSlot = Name("ClearInputOutput");
clearRequest.m_connections[0].m_attachmentRef.m_pass = Name("Parent");

@ -8,7 +8,6 @@
#include <AzCore/Interface/Interface.h>
#include <Atom/RPI.Public/Pass/ClearPass.h>
#include <Atom/RPI.Public/Pass/ComputePass.h>
#include <Atom/RPI.Public/Pass/CopyPass.h>
#include <Atom/RPI.Public/Pass/FullscreenTrianglePass.h>
@ -20,6 +19,7 @@
#include <Atom/RPI.Public/Pass/PassFilter.h>
#include <Atom/RPI.Public/Pass/RasterPass.h>
#include <Atom/RPI.Public/Pass/MSAAResolvePass.h>
#include <Atom/RPI.Public/Pass/SlowClearPass.h>
#include <Atom/RPI.Public/Pass/Specific/MSAAResolveFullScreenPass.h>
#include <Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h>
#include <Atom/RPI.Public/Pass/Specific/RenderToTexturePass.h>
@ -61,7 +61,7 @@ namespace AZ
{
AddPassCreator(Name("ParentPass"), &ParentPass::Create);
AddPassCreator(Name("RasterPass"), &RasterPass::Create);
AddPassCreator(Name("ClearPass"), &ClearPass::Create);
AddPassCreator(Name("SlowClearPass"), &SlowClearPass::Create);
AddPassCreator(Name("CopyPass"), &CopyPass::Create);
AddPassCreator(Name("FullScreenTriangle"), &FullscreenTrianglePass::Create);
AddPassCreator(Name("ComputePass"), &ComputePass::Create);

@ -28,7 +28,6 @@
#include <Atom/RPI.Public/Pass/Specific/SwapChainPass.h>
#include <Atom/RPI.Public/RenderPipeline.h>
#include <Atom/RPI.Reflect/Pass/ClearPassData.h>
#include <Atom/RPI.Reflect/Pass/ComputePassData.h>
#include <Atom/RPI.Reflect/Pass/CopyPassData.h>
#include <Atom/RPI.Reflect/Pass/DownsampleMipChainPassData.h>
@ -40,6 +39,7 @@
#include <Atom/RPI.Reflect/Pass/PassTemplate.h>
#include <Atom/RPI.Reflect/Pass/RasterPassData.h>
#include <Atom/RPI.Reflect/Pass/RenderPassData.h>
#include <Atom/RPI.Reflect/Pass/SlowClearPassData.h>
namespace AZ
{
@ -68,7 +68,7 @@ namespace AZ
PassSlot::Reflect(context);
PassData::Reflect(context);
ClearPassData::Reflect(context);
SlowClearPassData::Reflect(context);
CopyPassData::Reflect(context);
RenderPassData::Reflect(context);
ComputePassData::Reflect(context);

@ -6,37 +6,37 @@
*
*/
#include <Atom/RPI.Public/Pass/ClearPass.h>
#include <Atom/RPI.Public/Pass/SlowClearPass.h>
#include <Atom/RPI.Public/Pass/PassUtils.h>
#include <Atom/RPI.Reflect/Pass/ClearPassData.h>
#include <Atom/RPI.Reflect/Pass/SlowClearPassData.h>
namespace AZ
{
namespace RPI
{
Ptr<ClearPass> ClearPass::Create(const PassDescriptor& descriptor)
Ptr<SlowClearPass> SlowClearPass::Create(const PassDescriptor& descriptor)
{
Ptr<ClearPass> pass = aznew ClearPass(descriptor);
Ptr<SlowClearPass> pass = aznew SlowClearPass(descriptor);
return pass;
}
ClearPass::ClearPass(const PassDescriptor& descriptor)
SlowClearPass::SlowClearPass(const PassDescriptor& descriptor)
: RenderPass(descriptor)
{
const ClearPassData* passData = PassUtils::GetPassData<ClearPassData>(descriptor);
const SlowClearPassData* passData = PassUtils::GetPassData<SlowClearPassData>(descriptor);
if (passData != nullptr)
{
m_clearValue = passData->m_clearValue;
}
}
void ClearPass::InitializeInternal()
void SlowClearPass::InitializeInternal()
{
RenderPass::InitializeInternal();
// Set clear value
AZ_Assert(GetInputOutputCount() > 0, "ClearPass: Missing InputOutput binding!");
AZ_Assert(GetInputOutputCount() > 0, "SlowClearPass: Missing InputOutput binding!");
RPI::PassAttachmentBinding& binding = GetInputOutputBinding(0);
binding.m_unifiedScopeDesc.m_loadStoreAction.m_clearValue = m_clearValue;
}

@ -57,7 +57,6 @@ set(FILES
Include/Atom/RPI.Public/Model/ModelSystem.h
Include/Atom/RPI.Public/Model/UvStreamTangentBitmask.h
Include/Atom/RPI.Public/Pass/AttachmentReadback.h
Include/Atom/RPI.Public/Pass/ClearPass.h
Include/Atom/RPI.Public/Pass/ComputePass.h
Include/Atom/RPI.Public/Pass/CopyPass.h
Include/Atom/RPI.Public/Pass/FullscreenTrianglePass.h
@ -74,6 +73,7 @@ set(FILES
Include/Atom/RPI.Public/Pass/RasterPass.h
Include/Atom/RPI.Public/Pass/RenderPass.h
Include/Atom/RPI.Public/Pass/MSAAResolvePass.h
Include/Atom/RPI.Public/Pass/SlowClearPass.h
Include/Atom/RPI.Public/Pass/Specific/DownsampleMipChainPass.h
Include/Atom/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.h
Include/Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h
@ -136,7 +136,6 @@ set(FILES
Source/RPI.Public/Model/ModelSystem.cpp
Source/RPI.Public/Model/UvStreamTangentBitmask.cpp
Source/RPI.Public/Pass/AttachmentReadback.cpp
Source/RPI.Public/Pass/ClearPass.cpp
Source/RPI.Public/Pass/ComputePass.cpp
Source/RPI.Public/Pass/CopyPass.cpp
Source/RPI.Public/Pass/FullscreenTrianglePass.cpp
@ -151,6 +150,7 @@ set(FILES
Source/RPI.Public/Pass/RasterPass.cpp
Source/RPI.Public/Pass/RenderPass.cpp
Source/RPI.Public/Pass/MSAAResolvePass.cpp
Source/RPI.Public/Pass/SlowClearPass.cpp
Source/RPI.Public/Pass/Specific/DownsampleMipChainPass.cpp
Source/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.cpp
Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp

@ -62,7 +62,6 @@ set(FILES
Include/Atom/RPI.Reflect/Material/ShaderCollection.h
Include/Atom/RPI.Reflect/Material/MaterialFunctor.h
Include/Atom/RPI.Reflect/Material/MaterialVersionUpdate.h
Include/Atom/RPI.Reflect/Pass/ClearPassData.h
Include/Atom/RPI.Reflect/Pass/ComputePassData.h
Include/Atom/RPI.Reflect/Pass/CopyPassData.h
Include/Atom/RPI.Reflect/Pass/DownsampleMipChainPassData.h
@ -76,6 +75,7 @@ set(FILES
Include/Atom/RPI.Reflect/Pass/PassTemplate.h
Include/Atom/RPI.Reflect/Pass/RasterPassData.h
Include/Atom/RPI.Reflect/Pass/RenderPassData.h
Include/Atom/RPI.Reflect/Pass/SlowClearPassData.h
Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h
Include/Atom/RPI.Reflect/Shader/ShaderAsset.h
Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h

Loading…
Cancel
Save