create static method
Implementation
static GpuShader create(String source) {
final wgpu = WebgpuRend.instance.wgpu;
return using((arena) {
final wgslDesc = arena<WGPUShaderSourceWGSL>();
wgslDesc.ref.chain.sType = WGPUSType.WGPUSType_ShaderSourceWGSL;
wgslDesc.ref.chain.next = nullptr;
wgslDesc.ref.code = _createStringView(arena, source);
final desc = arena<WGPUShaderModuleDescriptor>();
desc.ref.nextInChain = wgslDesc.cast();
desc.ref.label.data = nullptr;
desc.ref.label.length = 0;
final handle =
wgpu.wgpuDeviceCreateShaderModule(WebgpuRend.instance.device, desc);
return GpuShader._(handle.cast());
});
}