end point adjsutments
This commit is contained in:
@@ -3,10 +3,10 @@
|
||||
#include "ShaderCompiler.h"
|
||||
#include "ShaderPackageRegistry.h"
|
||||
#include "ShaderTypes.h"
|
||||
#include "SupportedShaderCatalog.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
|
||||
namespace
|
||||
{
|
||||
@@ -28,43 +28,6 @@ std::filesystem::path FindRepoRoot()
|
||||
}
|
||||
}
|
||||
|
||||
bool IsStatelessSinglePassPackage(const ShaderPackage& shaderPackage, std::string& error)
|
||||
{
|
||||
if (shaderPackage.passes.size() != 1)
|
||||
{
|
||||
error = "RenderCadenceCompositor currently supports only single-pass runtime shaders.";
|
||||
return false;
|
||||
}
|
||||
if (shaderPackage.temporal.enabled)
|
||||
{
|
||||
error = "RenderCadenceCompositor currently supports only stateless shaders; temporal history is not enabled in this app.";
|
||||
return false;
|
||||
}
|
||||
if (shaderPackage.feedback.enabled)
|
||||
{
|
||||
error = "RenderCadenceCompositor currently supports only stateless shaders; feedback storage is not enabled in this app.";
|
||||
return false;
|
||||
}
|
||||
if (!shaderPackage.textureAssets.empty())
|
||||
{
|
||||
error = "RenderCadenceCompositor does not load shader texture assets on the render thread; texture-backed shaders need a CPU-prepared asset handoff first.";
|
||||
return false;
|
||||
}
|
||||
if (!shaderPackage.fontAssets.empty())
|
||||
{
|
||||
error = "RenderCadenceCompositor does not load shader font assets on the render thread; text shaders need a CPU-prepared asset handoff first.";
|
||||
return false;
|
||||
}
|
||||
for (const ShaderParameterDefinition& parameter : shaderPackage.parameters)
|
||||
{
|
||||
if (parameter.type == ShaderParameterType::Text)
|
||||
{
|
||||
error = "RenderCadenceCompositor currently skips text parameters because they require per-shader text texture storage.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
RuntimeSlangShaderCompiler::~RuntimeSlangShaderCompiler()
|
||||
@@ -140,10 +103,12 @@ RuntimeSlangShaderBuild RuntimeSlangShaderCompiler::BuildShader(const std::strin
|
||||
build.message = error.empty() ? "Shader manifest parse failed." : error;
|
||||
return build;
|
||||
}
|
||||
if (!IsStatelessSinglePassPackage(shaderPackage, error))
|
||||
const RenderCadenceCompositor::ShaderSupportResult support =
|
||||
RenderCadenceCompositor::CheckStatelessSinglePassShaderSupport(shaderPackage);
|
||||
if (!support.supported)
|
||||
{
|
||||
build.succeeded = false;
|
||||
build.message = error;
|
||||
build.message = support.reason;
|
||||
return build;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user