Used when fields are marked as being an Offset or Size
Include simple latch to trigger a UI refresh when closing the settings dialog.
Currently only connected to if the Offset/Size format option is altered
* The enums are given after compute, to preserve indices for the normal vertex
pipeline.
* Mesh dispatches are considered a new action type, rather than being bundled
into the `Drawcall` type. This will allow them to be distinguished by API
backends as needed. The UI treats them as drawcalls
* We apply this universally even though it's not relevant to D3D11/GL. It means
a couple of empty array entries but it should not cause any significant
issues.
* Shader messages will be identified by group and thread as with compute
shaders. For mesh shaders there is an additional subdivision to identify them
by task group, since each task group can submit a grid of mesh groups.
* The GL clip origin when changed from lower left to upper left will also invert
the face culling sense. This is deliberate to counteract the fact that
otherwise CW wound triangles would be CCW wound, so the flip means that if
GL_CCW is the front face state and back faces are culled, then visibly CCW
wound triangles will be culled.
* This allows the calling code to pass a hint of what packing is known or likely
to be used, meaning less generated manual offsetting/padding when the implicit
rules cover it.
* There's not a good accepted terminology for this kind of event, and for
historical reasons 'drawcall' has been the accepted term, even though
that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
$draw() includes draws and dispatches, but $dispatch() only includes
dispatches, it's hard to intuitively understand why $draw() matches all
of these calls.
* As a result we've defined the term 'action' to cover these types of
events in the same way that we defined 'event' in the first place to
mean a single atomic API call.
* This isn't something we generally want to support (@123 should be a separate
word) and it can come up with shader names like `shader@0x12345` as well as
with icon@2x.png