Explorar o código

Mention workgroup limits more;

bjorn hai 8 meses
pai
achega
9640a9f7f5

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
api/init.lua


+ 6 - 1
api/lovr/graphics/Pass/compute.lua

@@ -87,6 +87,10 @@ return {
       dispatch. It's equivalent to `WorkgroupID * WorkgroupSize + LocalThreadID` (usually what you
       want!)
 
+    There are limits to the number of workgroups that can be dispatched, see the `workgroupCount`
+    limit in `lovr.graphics.getLimits`.  The local workgroup size is also limited by the
+    `workgroupSize` and `totalWorkgroupSize` limits.
+
     Indirect compute dispatches are useful to "chain" compute shaders together, while keeping all of
     the data on the GPU.  The first dispatch can do some computation and write some results to
     buffers, then the second indirect dispatch can use the data in those buffers to know how many
@@ -144,6 +148,7 @@ return {
   related = {
     'Pass:barrier',
     'Pass:setShader',
-    'Pass:send'
+    'Pass:send',
+    'lovr.graphics.getLimits'
   }
 }

+ 8 - 1
api/lovr/graphics/Shader/getWorkgroupSize.lua

@@ -28,5 +28,12 @@ return {
   notes = [[
     For example, if the workgroup size is `8x8x1` and `16x16x16` workgroups are dispatched, then the
     compute shader will run `16 * 16 * 16 * (8 * 8 * 1) = 262144` times.
-  ]]
+
+    The maximum workgroup size is hardware-specific, and is given by the `workgroupSize` and
+    `totalWorkgroupSize` limit in `lovr.graphics.getLimits`.
+  ]],
+  related = {
+    'Pass:compute',
+    'lovr.graphics.getLimits'
+  }
 }

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio