private VisualElement CreateShaderProperties(ShaderProgramPerfInfo info) { Foldout fold = new Foldout(); fold.text = "Shader Property"; fold.name = "ShaderInfo"; var val = new string[2, 6]; val[0, 0] = "Has uniform computation"; val[0, 1] = "Has side-effects"; val[0, 2] = "Modifies coverage"; val[0, 3] = "Use late ZS test"; val[0, 4] = "Use late ZS update"; val[0, 5] = "Read color buffer"; val[1, 0] = info.hasUniformComputation.ToString(); val[1, 1] = info.hasSideEffects.ToString(); val[1, 2] = info.modifisCoverage.ToString(); val[1, 3] = info.useLateZSTest.ToString(); val[1, 4] = info.useLateZSUpdate.ToString(); val[1, 5] = info.readColorBuffer.ToString(); fold.Add(CreateTableView(val)); return(fold); }
private VisualElement CreateMainShaderInfoTable(ShaderProgramPerfInfo info) { Foldout fold = new Foldout(); fold.text = "Main Info"; fold.name = "MainInfo"; var val = new string[2, 4]; val[0, 0] = "Work register"; val[0, 1] = "uniform register"; val[0, 2] = "Stack spilling"; val[0, 3] = "16-bit arithmetic"; val[1, 0] = info.workRegisters.ToString(); val[1, 1] = info.uniformRegister.ToString(); val[1, 2] = info.hasStackSpilling.ToString(); val[1, 3] = info.bit16Arithmetic + "%"; fold.Add(CreateTableView(val)); return(fold); }
private VisualElement CreateProgramElement(string name, ShaderProgramPerfInfo perfInfo) { var fold = new Foldout(); fold.text = name; VisualElement ve = null; if (perfInfo != null) { ve = ShaderProgramInfoElement.Create(perfInfo); } else { ve = new Label("No data"); } ve.style.marginLeft = FoldMarginLeft; fold.Add(ve); fold.style.marginLeft = FoldMarginLeft; return(fold); }
private VisualElement CreateCycleTable(ShaderProgramPerfInfo info) { Foldout fold = new Foldout(); fold.text = "Cycle Info"; fold.name = "CycleInfo"; var val = new string[4, info.pipelines.Length + 1]; for (int i = 0; i < info.pipelines.Length; ++i) { val[0, 1 + i] = info.pipelines[i]; val[1, 1 + i] = info.totalCycles[i].ToString(); val[2, 1 + i] = info.longestCycles[i].ToString(); val[3, 1 + i] = info.shortestCycles[i].ToString(); } val[0, 0] = " "; val[1, 0] = "total"; val[2, 0] = "longest"; val[3, 0] = "shortest"; fold.Add(CreateTableView(val)); return(fold); }
private VisualElement InitShaderProgramElement(string name, ShaderProgramPerfInfo info) { Foldout fold = new Foldout(); fold.name = name; fold.text = name; var ve = ShaderProgramInfoElement.Create(info); ve.style.marginLeft = 20; var cycleInfo = ve.Q <Foldout>("CycleInfo"); var mainInfo = ve.Q <Foldout>("MainInfo"); var shaderInfo = ve.Q <Foldout>("ShaderInfo"); // InitFold InitShaderInfoFoldout(fold, name, true); InitShaderInfoFoldout(cycleInfo, name + "-Cycle", true); InitShaderInfoFoldout(mainInfo, name + "-Main", false); InitShaderInfoFoldout(shaderInfo, name + "-Shader", false); fold.Add(ve); return(fold); }
private ShaderProgramInfoElement(ShaderProgramPerfInfo info) { this.Add(CreateCycleTable(info)); this.Add(CreateMainShaderInfoTable(info)); this.Add(CreateShaderProperties(info)); }
public static ShaderProgramInfoElement Create(ShaderProgramPerfInfo info) { return(new ShaderProgramInfoElement(info)); }