Currently, pushDebugGroup() only accepts a label. A lot of, but not all, native APIs allow adding a color for organization purposes. I propose that an optional GPUColor argument is added to support this.
interface mixin GPUDebugCommandsMixin {
undefined pushDebugGroup(USVString groupLabel, GPUColor? groupColor);
undefined popDebugGroup();
undefined insertMarker(USVString markerLabel, GPUColor? markerColor);
}
If a color is not passed, the implementation is free to pick a color. If a color is passed, it is simply a hint to the implementation and has no functional effect. Implementations should pass this as a color argument to e.g. PIXBeginEvent on D3D12, VkDebugUtilsLabelEXT on Vulkan, and ignored on Metal.