Buffer Map Extended Usages
Overview:
- The
wgpu::Feature::BufferMapExtendedUsages
feature allows creating a buffer with wgpu::BufferUsage::MapRead
and/or wgpu::BufferUsage::MapWrite
and any other wgpu::BufferUsage
.
Example Usage:
wgpu::BufferDescriptor descriptor;
descriptor.size = size;
descriptor.usage = wgpu::BufferUsage::MapWrite | wgpu::BufferUsage::Uniform;
wgpu::Buffer uniformBuffer = device.CreateBuffer(&descriptor);
uniformBuffer.MapAsync(wgpu::MapMode::Write, 0, size,
[](WGPUBufferMapAsyncStatus status, void* userdata)
{
wgpu::Buffer* buffer = static_cast<wgpu::Buffer*>(userdata);
memcpy(buffer->GetMappedRange(), data, sizeof(data));
},
&uniformBuffer);