#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.h"
#include "base/containers/heap_array.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_gpu_render_bundle_descriptor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_gpu_render_bundle_encoder_descriptor.h"
#include "third_party/blink/renderer/modules/webgpu/dawn_conversions.h"
#include "third_party/blink/renderer/modules/webgpu/gpu_bind_group.h"
#include "third_party/blink/renderer/modules/webgpu/gpu_buffer.h"
#include "third_party/blink/renderer/modules/webgpu/gpu_device.h"
#include "third_party/blink/renderer/modules/webgpu/gpu_render_bundle.h"
#include "third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
GPURenderBundleEncoder* GPURenderBundleEncoder::Create(
GPUDevice* device,
const GPURenderBundleEncoderDescriptor* webgpu_desc,
ExceptionState& exception_state) { … }
GPURenderBundleEncoder::GPURenderBundleEncoder(
GPUDevice* device,
wgpu::RenderBundleEncoder render_bundle_encoder,
const String& label)
: … { … }
void GPURenderBundleEncoder::setBindGroup(
uint32_t index,
GPUBindGroup* bindGroup,
const Vector<uint32_t>& dynamicOffsets) { … }
void GPURenderBundleEncoder::setBindGroup(
uint32_t index,
GPUBindGroup* bind_group,
base::span<const uint32_t> dynamic_offsets_data,
uint64_t dynamic_offsets_data_start,
uint32_t dynamic_offsets_data_length,
ExceptionState& exception_state) { … }
GPURenderBundle* GPURenderBundleEncoder::finish(
const GPURenderBundleDescriptor* webgpu_desc) { … }
}