Skip to content

Commit 1d3f67b

Browse files
committed
Fixed pass and subprogram numbers in the shader_subprogram table
1 parent 1830f22 commit 1d3f67b

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

Analyzer/Processors/ShaderProcessor.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ public void Init(SQLiteConnection db)
4444
m_InsertCommand.Parameters.Add("@keywords", DbType.String);
4545

4646
m_InsertSubProgramCommand = new SQLiteCommand(db);
47-
m_InsertSubProgramCommand.CommandText = "INSERT INTO shader_subprograms(shader, pass, hw_tier, shader_type, api, keywords) VALUES(@shader, @pass, @hw_tier, @shader_type, @api, @keywords)";
47+
m_InsertSubProgramCommand.CommandText = "INSERT INTO shader_subprograms(shader, pass, sub_program, hw_tier, shader_type, api, keywords) VALUES(@shader, @pass, @sub_program, @hw_tier, @shader_type, @api, @keywords)";
4848
m_InsertSubProgramCommand.Parameters.Add("@shader", DbType.Int64);
4949
m_InsertSubProgramCommand.Parameters.Add("@pass", DbType.Int32);
50+
m_InsertSubProgramCommand.Parameters.Add("@sub_program", DbType.Int32);
5051
m_InsertSubProgramCommand.Parameters.Add("@hw_tier", DbType.Int32);
5152
m_InsertSubProgramCommand.Parameters.Add("@shader_type", DbType.String);
5253
m_InsertSubProgramCommand.Parameters.Add("@api", DbType.Int32);
@@ -85,10 +86,10 @@ public void Process(AnalyzerTool analyzer, long objectId, Dictionary<int, int> l
8586

8687
foreach (var subShader in parsedForm["m_SubShaders"])
8788
{
89+
int passNum = 0;
90+
8891
foreach (var pass in subShader["m_Passes"])
8992
{
90-
int passNum = 0;
91-
9293
if (!keywordsUnity2021)
9394
{
9495
m_KeywordNames.Clear();
@@ -170,6 +171,8 @@ public void Process(AnalyzerTool analyzer, long objectId, Dictionary<int, int> l
170171

171172
void ProcessProgram(long objectId, int passNum, ref int currentProgram, RandomAccessReader subPrograms, string shaderType, int hwTier = -1)
172173
{
174+
int progNum = 0;
175+
173176
foreach (var subProgram in subPrograms)
174177
{
175178
m_Keywords.Clear();
@@ -215,6 +218,7 @@ void ProcessProgram(long objectId, int passNum, ref int currentProgram, RandomAc
215218

216219
m_InsertSubProgramCommand.Parameters["@shader"].Value = objectId;
217220
m_InsertSubProgramCommand.Parameters["@pass"].Value = passNum;
221+
m_InsertSubProgramCommand.Parameters["@sub_program"].Value = progNum++;
218222
m_InsertSubProgramCommand.Parameters["@hw_tier"].Value = hwTier != -1 ? hwTier : subProgram["m_ShaderHardwareTier"].GetValue<sbyte>();
219223
m_InsertSubProgramCommand.Parameters["@shader_type"].Value = shaderType;
220224
m_InsertSubProgramCommand.Parameters["@api"].Value = subProgram["m_GpuProgramType"].GetValue<sbyte>();

0 commit comments

Comments
 (0)