Move shader source code length adjustment to the main compilation routine
This commit is contained in:
@@ -322,8 +322,6 @@ bool ProcessShaderBase(CookAssetsStep::AssetCookData& data, ShaderAssetBase* ass
|
|||||||
auto sourceLength = sourceChunk->Size();
|
auto sourceLength = sourceChunk->Size();
|
||||||
Encryption::DecryptBytes((byte*)source, sourceLength);
|
Encryption::DecryptBytes((byte*)source, sourceLength);
|
||||||
source[sourceLength - 1] = 0;
|
source[sourceLength - 1] = 0;
|
||||||
while (sourceLength > 2 && source[sourceLength - 1] == 0)
|
|
||||||
sourceLength--;
|
|
||||||
|
|
||||||
// Init shader cache output stream
|
// Init shader cache output stream
|
||||||
// TODO: reuse MemoryWriteStream per cooking process to reduce dynamic memory allocations
|
// TODO: reuse MemoryWriteStream per cooking process to reduce dynamic memory allocations
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public:
|
|||||||
|
|
||||||
ShadersCompilationService ShadersCompilationServiceInstance;
|
ShadersCompilationService ShadersCompilationServiceInstance;
|
||||||
|
|
||||||
bool ShadersCompilation::Compile(const ShaderCompilationOptions& options)
|
bool ShadersCompilation::Compile(ShaderCompilationOptions& options)
|
||||||
{
|
{
|
||||||
PROFILE_CPU_NAMED("Shader.Compile");
|
PROFILE_CPU_NAMED("Shader.Compile");
|
||||||
|
|
||||||
@@ -86,6 +86,10 @@ bool ShadersCompilation::Compile(const ShaderCompilationOptions& options)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Adjust input source length if it ends with null
|
||||||
|
while (options.SourceLength > 2 && options.Source[options.SourceLength - 1] == 0)
|
||||||
|
options.SourceLength--;
|
||||||
|
|
||||||
const DateTime startTime = DateTime::NowUTC();
|
const DateTime startTime = DateTime::NowUTC();
|
||||||
const FeatureLevel featureLevel = RenderTools::GetFeatureLevel(options.Profile);
|
const FeatureLevel featureLevel = RenderTools::GetFeatureLevel(options.Profile);
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public:
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="options">Compilation options</param>
|
/// <param name="options">Compilation options</param>
|
||||||
/// <returns>True if failed, otherwise false</returns>
|
/// <returns>True if failed, otherwise false</returns>
|
||||||
static bool Compile(const ShaderCompilationOptions& options);
|
static bool Compile(ShaderCompilationOptions& options);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Registers shader asset for the automated reloads on source includes changes.
|
/// Registers shader asset for the automated reloads on source includes changes.
|
||||||
|
|||||||
Reference in New Issue
Block a user