diff --git a/Ryujinx.Graphics/Graphics3d/NvGpuEngine3d.cs b/Ryujinx.Graphics/Graphics3d/NvGpuEngine3d.cs index c400b21c76..c9a77f1c94 100644 --- a/Ryujinx.Graphics/Graphics3d/NvGpuEngine3d.cs +++ b/Ryujinx.Graphics/Graphics3d/NvGpuEngine3d.cs @@ -82,7 +82,13 @@ namespace Ryujinx.Graphics.Graphics3d { if (Methods.TryGetValue(MethCall.Method, out NvGpuMethod Method)) { + ProfileConfig profile = Profiles.GPU.Engine3d.CallMethod; + profile.SessionItem = Method.Method.Name; + Profile.Begin(profile); + Method(Vmm, MethCall); + + Profile.End(profile); } else { diff --git a/Ryujinx.Profiler/ProfileConfig.cs b/Ryujinx.Profiler/ProfileConfig.cs index 8a4a5ed88b..e59f6677bc 100644 --- a/Ryujinx.Profiler/ProfileConfig.cs +++ b/Ryujinx.Profiler/ProfileConfig.cs @@ -105,6 +105,12 @@ namespace Ryujinx.Profiler public static class Engine3d { + public static ProfileConfig CallMethod = new ProfileConfig() + { + Category = "GPU.Engine3D", + SessionGroup = "CallMethod", + }; + public static ProfileConfig VertexEnd = new ProfileConfig() { Category = "GPU.Engine3D",