createMsaa static method
Implementation
static GpuTexture createMsaa({required int width, required int height, int samples = 4}) {
final wgpu = WebgpuRend.instance.wgpu;
return using((arena) {
final desc = arena<WGPUTextureDescriptor>();
desc.ref.label.data = nullptr;
desc.ref.size.width = width;
desc.ref.size.height = height;
desc.ref.size.depthOrArrayLayers = 1;
desc.ref.mipLevelCount = 1;
desc.ref.sampleCount = samples;
desc.ref.dimension = WGPUTextureDimension.WGPUTextureDimension_2D;
// MSAA textures are RenderAttachments only, never copied directly
desc.ref.usage = WGPUTextureUsage_RenderAttachment;
desc.ref.format = kPreferredTextureFormat; // Must match screen format
final handle = wgpu.wgpuDeviceCreateTexture(WebgpuRend.instance.device, desc);
final viewHandle = wgpu.wgpuTextureCreateView(handle, nullptr);
return GpuTexture._(handle.cast(), -1, handle, viewHandle, width, height, false);
});
}