Search Issue Tracker
Active
Under Consideration for 1.0.X
Votes
0
Found in [Package]
1.0.1
Issue ID
PROFB-326
Regression
No
Project Auditor - “Shader: Not compatible with SRP batcher” is not correctly judged
I found a bug in which “Shader: Not compatible with SRP batcher” is not correctly judged.
(This is a shader that is supposed to be SRP batcher compatible, but for some reason it is listed.)
Using the latest Project Auditor 1.0.1,
I modified the Analyze method in ShaderAnalyzer.cs as follows, and I would like to report that the correct judgment is now performed.
However, the Analyze time will be long, so it will probably not be able to be put in the repository as it is. If there are people who are having trouble, please try using it.
{code:java}
public override IEnumerable<ReportItem> Analyze(ShaderAnalysisContext context)
{
if (!IsSrpBatchingEnabled)
{
yield break;
}
if (context.Shader.name.StartsWith("Hidden/"))
{
yield break;
}
var srpCompatibilityCheckMaterial = new Material(context.Shader);
srpCompatibilityCheckMaterial.SetPass(0);
var subShaderIndex = ShaderUtilProxy.GetShaderActiveSubshaderIndex(context.Shader);
var isSrpBatchingCompatible = ShaderUtilProxy.GetSRPBatcherCompatibilityCode(context.Shader, subShaderIndex) == 0;
GameObject.DestroyImmediate(srpCompatibilityCheckMaterial);
if (!isSrpBatchingCompatible && IsSrpBatchingEnabled)
{
yield return context.CreateIssue(IssueCategory.AssetIssue, k_SrpBatcherDescriptor.Id, context.Shader.name)
.WithLocation(context.AssetPath);
}
}
{code}
Steps to reproduce:
\\
Actual results:
Expected results:
\\
Reproducible with versions:
Not reproducible with versions:
Can’t test with versions:
\\
Tested on (OS):
\\
Notes:
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Add comment