createRenderBundleEncoder method

  1. @override
RenderBundleEncoder createRenderBundleEncoder(
  1. RenderBundleDescriptor descriptor
)

Opens an encoder whose draws are kept as a RenderBundle, to be replayed into any pass whose attachments match descriptor — DeviceFeature.renderBundles. See RenderBundleEncoder for what a bundle cannot record.

Implementation

@override
RenderBundleEncoder createRenderBundleEncoder(
  RenderBundleDescriptor descriptor,
) {
  features.require(DeviceFeature.renderBundles, backend: _backend);
  for (final format in descriptor.colorFormats) {
    if (!textureFormatSupport(format).renderable) {
      throw ArgumentError.value(
        format,
        'colorFormats',
        'is not a colour attachment format here',
      );
    }
  }
  return WebGpuBundleEncoder(this, descriptor);
}