bjorn 1 year ago
parent
commit
c08206c2c5
3 changed files with 97 additions and 0 deletions
  1. 46 0
      api/init.lua
  2. 26 0
      api/lovr/graphics/isTimingEnabled.lua
  3. 25 0
      api/lovr/graphics/setTimingEnabled.lua

+ 46 - 0
api/init.lua

@@ -11206,6 +11206,29 @@ return {
             }
           }
         },
+        {
+          name = "isTimingEnabled",
+          tag = "graphics-global",
+          summary = "Check if timing stats are enabled.",
+          description = "Returns whether timing stats are enabled.  When enabled, `Pass:getStats` will return `submitTime` and `gpuTime` durations.  Timing is enabled by default when `t.graphics.debug` is set in `lovr.conf`.  Timing has a small amount of overhead, so it should only be enabled when needed.",
+          key = "lovr.graphics.isTimingEnabled",
+          module = "lovr.graphics",
+          related = {
+            "Pass:getStats"
+          },
+          variants = {
+            {
+              arguments = {},
+              returns = {
+                {
+                  name = "enabled",
+                  type = "boolean",
+                  description = "Whether timing is enabled."
+                }
+              }
+            }
+          }
+        },
         {
           name = "newBuffer",
           tag = "graphics-objects",
@@ -12760,6 +12783,29 @@ return {
             }
           }
         },
+        {
+          name = "setTimingEnabled",
+          tag = "graphics-global",
+          summary = "Enable or disable timing stats.",
+          description = "Enables or disables timing stats.  When enabled, `Pass:getStats` will return `submitTime` and `gpuTime` durations.  Timing is enabled by default when `t.graphics.debug` is set in `lovr.conf`.  Timing has a small amount of overhead, so it should only be enabled when needed.",
+          key = "lovr.graphics.setTimingEnabled",
+          module = "lovr.graphics",
+          related = {
+            "Pass:getStats"
+          },
+          variants = {
+            {
+              arguments = {
+                {
+                  name = "enable",
+                  type = "boolean",
+                  description = "Whether timing should be enabled."
+                }
+              },
+              returns = {}
+            }
+          }
+        },
         {
           name = "submit",
           tag = "work-submission",

+ 26 - 0
api/lovr/graphics/isTimingEnabled.lua

@@ -0,0 +1,26 @@
+return {
+  tag = 'graphics-global',
+  summary = 'Check if timing stats are enabled.',
+  description = [[
+    Returns whether timing stats are enabled.  When enabled, `Pass:getStats` will return
+    `submitTime` and `gpuTime` durations.  Timing is enabled by default when `t.graphics.debug` is
+    set in `lovr.conf`.  Timing has a small amount of overhead, so it should only be enabled when
+    needed.
+  ]],
+  arguments = {},
+  returns = {
+    enabled = {
+      type = 'boolean',
+      description = 'Whether timing is enabled.'
+    }
+  },
+  variants = {
+    {
+      arguments = {},
+      returns = { 'enabled' }
+    }
+  },
+  related = {
+    'Pass:getStats'
+  }
+}

+ 25 - 0
api/lovr/graphics/setTimingEnabled.lua

@@ -0,0 +1,25 @@
+return {
+  tag = 'graphics-global',
+  summary = 'Enable or disable timing stats.',
+  description = [[
+    Enables or disables timing stats.  When enabled, `Pass:getStats` will return `submitTime` and
+    `gpuTime` durations.  Timing is enabled by default when `t.graphics.debug` is set in
+    `lovr.conf`.  Timing has a small amount of overhead, so it should only be enabled when needed.
+  ]],
+  arguments = {
+    enable = {
+      type = 'boolean',
+      description = 'Whether timing should be enabled.'
+    }
+  },
+  returns = {},
+  variants = {
+    {
+      arguments = { 'enable' },
+      returns = {}
+    }
+  },
+  related = {
+    'Pass:getStats'
+  }
+}