[ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System (#749)

* [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System.

Added ShaderAssetBuilder2 & ShaderVariantAssetBuilder2.

Added ShaderAsset2, ShaderVariantAsset2.

Eventually they will be the only builders. AzslBuilder &
SrgLayoutBuilder will be removed.
ShaderResourceGroupAsset will be removed. ShaderAssetBuilder &
ShaderVariantAssetBuilder will be replaced.

Signed-off-by: garrieta <garrieta@amazon.com>
This commit is contained in:
galibzon
2021-05-20 04:53:16 -05:00
committed by GitHub
parent af22a0f44e
commit 256df54575
63 changed files with 6191 additions and 603 deletions
@@ -26,6 +26,7 @@
#include <Atom/RPI.Reflect/Asset/AssetHandler.h>
#include <Atom/RPI.Reflect/Material/MaterialAsset.h>
#include <Atom/RPI.Reflect/Shader/ShaderAsset.h>
#include <Atom/RPI.Reflect/Shader/ShaderAsset2.h>
#include <Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h>
#include <Atom/RPI.Reflect/Image/StreamingImagePoolAsset.h>
#include <Atom/RPI.Reflect/Buffer/BufferAsset.h>
@@ -35,6 +36,7 @@
#include <Atom/RPI.Reflect/Model/SkinMetaAsset.h>
#include <Atom/RPI.Reflect/Pass/PassAsset.h>
#include <Atom/RPI.Reflect/Shader/ShaderVariantAsset.h>
#include <Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h>
#include <Atom/RPI.Reflect/Shader/ShaderVariantTreeAsset.h>
#include <BuilderComponent.h>
@@ -88,6 +90,7 @@ namespace AZ
m_assetWorkers.emplace_back(MakeAssetBuilder<PassBuilder>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderAssetHandler2>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderResourceGroupAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<MaterialTypeAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<MaterialAssetHandler>());
@@ -98,6 +101,7 @@ namespace AZ
m_assetHandlers.emplace_back(MakeAssetHandler<ModelAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<PassAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderVariantAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderVariantAssetHandler2>());
m_assetHandlers.emplace_back(MakeAssetHandler<ShaderVariantTreeAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<SkinMetaAssetHandler>());
m_assetHandlers.emplace_back(MakeAssetHandler<MorphTargetMetaAssetHandler>());