Merge pull request #4918 from aws-lumberyard-dev/Atom/santorac/RequireAzslExtensionInShaderFile

The .shader file must now include the .azsl extension when referencing a .azsl file
This commit is contained in:
santorac
2021-10-22 12:45:04 -07:00
committed by GitHub
91 changed files with 117 additions and 105 deletions
@@ -81,7 +81,7 @@ namespace AZ
// Register Shader Asset Builder
AssetBuilderSDK::AssetBuilderDesc shaderAssetBuilderDescriptor;
shaderAssetBuilderDescriptor.m_name = "Shader Asset Builder";
shaderAssetBuilderDescriptor.m_version = 105; // [AZSL] Changing inlineConstant to rootConstant keyword work.
shaderAssetBuilderDescriptor.m_version = 107; // Required .azsl extension in .shader file references
// .shader file changes trigger rebuilds
shaderAssetBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern( AZStd::string::format("*.%s", RPI::ShaderSourceData::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
shaderAssetBuilderDescriptor.m_busId = azrtti_typeid<ShaderAssetBuilder>();
@@ -151,11 +151,11 @@ namespace AZ
void ShaderAssetBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const
{
AZStd::string fullPath;
AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, true);
AZStd::string shaderAssetSourceFileFullPath;
AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), shaderAssetSourceFileFullPath, true);
ShaderBuilderUtility::IncludedFilesParser includedFilesParser;
AZ_TracePrintf(ShaderAssetBuilderName, "CreateJobs for Shader \"%s\"\n", fullPath.data());
AZ_TracePrintf(ShaderAssetBuilderName, "CreateJobs for Shader \"%s\"\n", shaderAssetSourceFileFullPath.data());
// Used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload.
// Note it's probably important for this to be set once outside the platform loop so every platform's ShaderAsset
@@ -166,7 +166,7 @@ namespace AZ
// Need to get the name of the azsl file from the .shader source asset, to be able to declare a dependency to SRG Layout Job.
// and the macro options to preprocess.
auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(fullPath);
auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderAssetSourceFileFullPath);
if (!descriptorParseOutcome.IsSuccess())
{
AZ_Error(
@@ -178,7 +178,7 @@ namespace AZ
RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue();
AZStd::string azslFullPath;
ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, shaderSourceData.m_source, azslFullPath);
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderAssetSourceFileFullPath, shaderSourceData.m_source, azslFullPath);
{
// Add the AZSL as source dependency
@@ -191,9 +191,9 @@ namespace AZ
{
AZ_Error(
ShaderAssetBuilderName, false, "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str());
// Treat as success, so when the azsl file shows up the AP will try to recompile.
response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;
return;
// Even though there was an error here, don't stop, because we need to report the SourceFileDependency so when the azsl
// file shows up the AP will try to recompile. We will go ahead and create the job anyway, and then ProcessJob can
// report the failure.
}
GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName);
@@ -229,7 +229,7 @@ namespace AZ
} // for all request.m_enabledPlatforms
AZ_TracePrintf(
ShaderAssetBuilderName, "CreateJobs for %s took %llu microseconds", fullPath.c_str(),
ShaderAssetBuilderName, "CreateJobs for %s took %llu microseconds", shaderAssetSourceFileFullPath.c_str(),
AZStd::GetTimeNowMicroSecond() - shaderAssetBuildTimestamp);
response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;
@@ -70,11 +70,11 @@ namespace AZ
return AZ::Success(shaderSourceData);
}
void GetAbsolutePathToAzslFile(const AZStd::string& shaderTemplatePathAndFile, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteAzslPath)
void GetAbsolutePathToAzslFile(const AZStd::string& shaderSourceFileFullPath, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteAzslPath)
{
AZStd::string sourcePath;
AzFramework::StringFunc::Path::GetFullPath(shaderTemplatePathAndFile.data(), sourcePath);
AzFramework::StringFunc::Path::GetFullPath(shaderSourceFileFullPath.c_str(), sourcePath);
AzFramework::StringFunc::Path::Normalize(specifiedShaderPathAndName);
bool shaderNameHasPath = (specifiedShaderPathAndName.find(AZ_CORRECT_FILESYSTEM_SEPARATOR) != AZStd::string::npos);
@@ -82,15 +82,27 @@ namespace AZ
// Join will handle overlapping directory structures for us
AzFramework::StringFunc::Path::Join(sourcePath.data(), specifiedShaderPathAndName.data(), absoluteAzslPath, shaderNameHasPath /* handle directory overlap? */, false /* be case insensitive? */);
AzFramework::StringFunc::Path::ReplaceExtension(absoluteAzslPath, "azsl");
// The builders used to automatically set the ".azsl" extension, but no more, because that would make the .shader file confusing to read.
// Here we just detect the issue and instruct the user what to change.
// (There's no need to return a failure code, the builder will eventually fail anyway when it can't find the file).
if (!IO::FileIOBase::GetInstance()->Exists(absoluteAzslPath.c_str()))
{
AZStd::string absoluteAzslPathWithForcedExtension = absoluteAzslPath;
AzFramework::StringFunc::Path::ReplaceExtension(absoluteAzslPathWithForcedExtension, "azsl");
if (IO::FileIOBase::GetInstance()->Exists(absoluteAzslPathWithForcedExtension.c_str()))
{
AZ_Error(ShaderBuilderUtilityName, false, "When the .shader file references a .azsl file, it must include the \".azsl\" extension.");
}
}
}
AZStd::shared_ptr<ShaderFiles> PrepareSourceInput(
[[maybe_unused]] const char* builderName,
const AZStd::string& shaderAssetSourcePath,
const AZStd::string& shaderSourceFileFullPath,
RPI::ShaderSourceData& sourceAsset)
{
auto shaderAssetSourceFileParseOutput = ShaderBuilderUtility::LoadShaderDataJson(shaderAssetSourcePath);
auto shaderAssetSourceFileParseOutput = ShaderBuilderUtility::LoadShaderDataJson(shaderSourceFileFullPath);
if (!shaderAssetSourceFileParseOutput.IsSuccess())
{
AZ_Error(builderName, false, "Failed to load/parse Shader Descriptor JSON: %s", shaderAssetSourceFileParseOutput.GetError().c_str());
@@ -100,7 +112,7 @@ namespace AZ
AZStd::shared_ptr<ShaderFiles> files(new ShaderFiles);
const AZStd::string& specifiedAzslName = sourceAsset.m_source;
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderAssetSourcePath, specifiedAzslName, files->m_azslSourceFullPath);
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderSourceFileFullPath, specifiedAzslName, files->m_azslSourceFullPath);
// specifiedAzslName may have a relative path on it so need to strip it
AzFramework::StringFunc::Path::GetFileName(specifiedAzslName.c_str(), files->m_azslFileName);
@@ -33,12 +33,12 @@ namespace AZ
{
Outcome<RPI::ShaderSourceData, AZStd::string> LoadShaderDataJson(const AZStd::string& fullPathToJsonFile);
void GetAbsolutePathToAzslFile(const AZStd::string& shaderTemplatePathAndFile, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteShaderPath);
void GetAbsolutePathToAzslFile(const AZStd::string& shaderSourceFileFullPath, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteShaderPath);
//! Opens and read the .shader, returns expanded file paths
AZStd::shared_ptr<ShaderFiles> PrepareSourceInput(
const char* builderName,
const AZStd::string& shaderAssetSourcePath,
const AZStd::string& shaderSourceFileFullPath,
RPI::ShaderSourceData& sourceAsset);
namespace AzslSubProducts
@@ -1,5 +1,5 @@
{
"Source" : "AuxGeomObject",
"Source" : "AuxGeomObject.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "AuxGeomObjectLit",
"Source" : "AuxGeomObjectLit.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "AuxGeomWorld",
"Source" : "AuxGeomWorld.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source": "BRDFTextureCS",
"Source": "BRDFTextureCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "CheckerboardColorResolveCS",
"Source": "CheckerboardColorResolveCS.azsl",
"CompilerHints":
{
@@ -1,5 +1,5 @@
{
"Source" : "LutGeneration",
"Source" : "LutGeneration.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DepthPassSkin",
"Source" : "DepthPassSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "DiffuseComposite",
"Source" : "DiffuseComposite.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DiffuseGlobalFullscreen",
"Source" : "DiffuseGlobalFullscreen.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DiffuseProbeGridDownsample",
"Source" : "DiffuseProbeGridDownsample.azsl",
"RasterState" :
{
@@ -1,6 +1,6 @@
{
"Source" : "ImGui",
"Source" : "ImGui.azsl",
"RasterState" : { "CullMode" : "None" },
@@ -1,5 +1,5 @@
{
"Source": "LightCulling",
"Source": "LightCulling.azsl",
"CompilerHints":
{
@@ -1,5 +1,5 @@
{
"Source" : "LightCullingHeatmap",
"Source" : "LightCullingHeatmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "LightCullingRemap",
"Source": "LightCullingRemap.azsl",
"Compiler":
{
@@ -1,5 +1,5 @@
{
"Source": "LightCullingTilePrepare",
"Source": "LightCullingTilePrepare.azsl",
"CompilerHints":
{
@@ -1,5 +1,5 @@
{
"Source" : "RenderTexture",
"Source" : "RenderTexture.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "MorphTargetCS",
"Source": "MorphTargetCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "CameraMotionVector",
"Source": "CameraMotionVector.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "MeshMotionVector",
"Source" : "MeshMotionVector.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "MeshMotionVectorSkin",
"Source" : "MeshMotionVectorSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "AcesOutputTransformLut",
"Source" : "AcesOutputTransformLut.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "ApplyShaperLookupTable",
"Source" : "ApplyShaperLookupTable.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "BakeAcesOutputTransformLutCS",
"Source": "BakeAcesOutputTransformLutCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "BlendColorGradingLuts",
"Source": "BlendColorGradingLuts.azsl",
"DrawList" : "forward",
@@ -1,5 +1,5 @@
{
"Source": "BloomBlurCS",
"Source": "BloomBlurCS.azsl",
"DrawList" : "forward",
@@ -1,5 +1,5 @@
{
"Source": "BloomCompositeCS",
"Source": "BloomCompositeCS.azsl",
"DrawList" : "forward",
@@ -1,5 +1,5 @@
{
"Source": "BloomDownsampleCS",
"Source": "BloomDownsampleCS.azsl",
"DrawList" : "forward",
@@ -1,5 +1,5 @@
{
"Source": "ContrastAdaptiveSharpening",
"Source": "ContrastAdaptiveSharpening.azsl",
"ProgramSettings": {
"EntryPoints": [
{
@@ -1,5 +1,5 @@
{
"Source" : "ConvertToAcescg",
"Source" : "ConvertToAcescg.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "DepthDownsample",
"Source": "DepthDownsample.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldBlurBokeh",
"Source" : "DepthOfFieldBlurBokeh.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldComposite",
"Source" : "DepthOfFieldComposite.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldDownSample",
"Source" : "DepthOfFieldDownSample.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldMask",
"Source" : "DepthOfFieldMask.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldPrepare",
"Source" : "DepthOfFieldPrepare.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "DepthOfFieldWriteFocusDepthFromGpu",
"Source": "DepthOfFieldWriteFocusDepthFromGpu.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DepthToLinearDepth",
"Source" : "DepthToLinearDepth.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "DepthUpsample",
"Source": "DepthUpsample.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DiffuseSpecularMerge",
"Source" : "DiffuseSpecularMerge.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DisplayMapper",
"Source" : "DisplayMapper.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "DisplayMapperOnlyGammaCorrection",
"Source" : "DisplayMapperOnlyGammaCorrection.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "DownsampleLuminanceMinAvgMaxCS",
"Source": "DownsampleLuminanceMinAvgMaxCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "DownsampleMinAvgMaxCS",
"Source": "DownsampleMinAvgMaxCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "EyeAdaptation",
"Source": "EyeAdaptation.azsl",
"ProgramSettings" :
@@ -1,5 +1,5 @@
{
"Source": "FastDepthAwareBlurHor",
"Source": "FastDepthAwareBlurHor.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source": "FastDepthAwareBlurVer",
"Source": "FastDepthAwareBlurVer.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source" : "FullscreenCopy",
"Source" : "FullscreenCopy.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "HDRColorGrading",
"Source" : "HDRColorGrading.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "LookModificationTransform",
"Source" : "LookModificationTransform.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "LuminanceHeatmap",
"Source" : "LuminanceHeatmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "LuminanceHistogramGenerator",
"Source": "LuminanceHistogramGenerator.azsl",
"DrawList" : "forward",
@@ -1,5 +1,5 @@
{
"Source": "MSAAResolveCustom",
"Source": "MSAAResolveCustom.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "MSAAResolveDepth",
"Source" : "MSAAResolveDepth.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "Always" }
@@ -1,5 +1,5 @@
{
"Source": "ModulateTexture",
"Source": "ModulateTexture.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source" : "OutputTransform",
"Source" : "OutputTransform.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "SMAABlendingWeightCalculation",
"Source" : "SMAABlendingWeightCalculation.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "SMAAConvertToPerceptualColor",
"Source" : "SMAAConvertToPerceptualColor.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "SMAAEdgeDetection",
"Source" : "SMAAEdgeDetection.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "SMAANeighborhoodBlending",
"Source" : "SMAANeighborhoodBlending.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source": "ScreenSpaceSubsurfaceScatteringCS",
"Source": "ScreenSpaceSubsurfaceScatteringCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source": "SsaoCompute",
"Source": "SsaoCompute.azsl",
"ProgramSettings" :
{
@@ -1,5 +1,5 @@
{
"Source": "Taa",
"Source": "Taa.azsl",
"ProgramSettings": {
"EntryPoints": [
{
@@ -1,5 +1,5 @@
{
"Source" : "UniformColor",
"Source" : "UniformColor.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionComposite",
"Source" : "ReflectionComposite.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionGlobalFullscreen",
"Source" : "ReflectionGlobalFullscreen.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeBlendWeight",
"Source" : "ReflectionProbeBlendWeight.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeRenderInner",
"Source" : "ReflectionProbeRenderInner.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeRenderOuter",
"Source" : "ReflectionProbeRenderOuter.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeStencil",
"Source" : "ReflectionProbeStencil.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceBlurHorizontal",
"Source" : "ReflectionScreenSpaceBlurHorizontal.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceBlurVertical",
"Source" : "ReflectionScreenSpaceBlurVertical.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceComposite",
"Source" : "ReflectionScreenSpaceComposite.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceTrace",
"Source" : "ReflectionScreenSpaceTrace.azsl",
"RasterState" :
{
@@ -1,5 +1,5 @@
{
"Source" : "DepthExponentiation",
"Source" : "DepthExponentiation.azsl",
"DrawList" : "shadow",
@@ -1,5 +1,5 @@
{
"Source" : "KawaseShadowBlur",
"Source" : "KawaseShadowBlur.azsl",
"DrawList" : "shadow",
@@ -1,5 +1,5 @@
{
"Source" : "Shadowmap",
"Source" : "Shadowmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "ShadowmapSkin",
"Source" : "ShadowmapSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }
@@ -1,5 +1,5 @@
{
"Source": "LinearSkinningCS",
"Source": "LinearSkinningCS.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source" : "SkyBox",
"Source" : "SkyBox.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "SkyBox_TwoOutputs",
"Source" : "SkyBox_TwoOutputs.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source": "DecomposeMsImage",
"Source": "DecomposeMsImage.azsl",
"ProgramSettings":
{
@@ -1,5 +1,5 @@
{
"Source" : "ImagePreview",
"Source" : "ImagePreview.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false, "CompareFunc" : "GreaterEqual" }
@@ -1,5 +1,5 @@
{
"Source" : "LyShineUI",
"Source" : "LyShineUI.azsl",
"DepthStencilState" : {
"Depth" : {
@@ -1,5 +1,5 @@
{
"Source" : "SimpleTextured",
"Source" : "SimpleTextured.azsl",
"DepthStencilState" : {
"Depth" : {
@@ -1,5 +1,5 @@
{
"Source" : "TexturedIcon",
"Source" : "TexturedIcon.azsl",
"DepthStencilState" : {
"Depth" : {
@@ -1,6 +1,6 @@
{
"Source" : "ImGuiAtom",
"Source" : "ImGuiAtom.azsl",
"RasterState" : { "CullMode" : "None" },
@@ -1,5 +1,5 @@
{
"Source" : "Terrain_DepthPass",
"Source" : "Terrain_DepthPass.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }