public override IEnumerator ExportBuildReport() { m_Report = new ShaderBuildReport(); var c = kernels.Count; for (var i = 0; i < c; i++) { var kernel = kernels[i]; var program = m_Report.AddGPUProgram( kernel.name, sourceCode, kernel.defines.ToArray(), new ShaderBuildReport.DefineSet[0], new ShaderBuildReport.DefineSet[0]); var unit = GetCompileUnitAt(i); program.AddCompileUnit( -1, unit.compileOptions.defines.ToArray(), unit.warnings.ToArray(), unit.errors.ToArray(), ShaderProfile.ComputeProgram, unit.compileOptions.entry ); var perf = GetPerfReportAt(i); program.AddPerformanceReport(-1, perf.rawReport, perf.parsedReport); } yield break; }
public override IEnumerator ExportBuildReport() { m_Report = new ShaderBuildReport(); #if UNITY_2018_1_OR_NEWER foreach (var skippedPassIndex in m_SkippedPassesFromFilter) { var pass = shaderData.ActiveSubshader.GetPass(skippedPassIndex); m_Report.AddSkippedPass(skippedPassIndex, pass.Name); } #endif var c = passes.Count; for (var i = 0; i < c; i++) { var pass = passes[i]; var program = m_Report.AddGPUProgram( pass.name, pass.sourceCode, m_ShaderKeywords.ToArray(), DefineSetFromHashSets(pass.multicompiles), DefineSetFromHashSets(pass.combinedMulticompiles)); var unitIndices = m_CompileUnitPerPass[i]; for (var j = 0; j < unitIndices.Count; j++) { var unit = GetCompileUnitAt(unitIndices[j]); program.AddCompileUnit(j, unit.compileOptions.defines.ToArray(), unit.warnings.ToArray(), unit.errors.ToArray(), ShaderProfile.PixelProgram, unit.compileOptions.entry); } for (var j = 0; j < unitIndices.Count; j++) { var indice = unitIndices[j]; if (indice >= perfReportCount) { continue; } var perf = GetPerfReportAt(unitIndices[j]); program.AddPerformanceReport(j, perf.rawReport, perf.parsedReport); } } yield break; }