@@ -332,8 +332,11 @@ impl<T: WasiWebGpuView> webgpu::HostGpuDevice for WasiWebGpuImpl<T> {
332332 // todo!()
333333 // }
334334
335- fn adapter_info ( & mut self , _device : Resource < Device > ) -> Resource < webgpu:: GpuAdapterInfo > {
336- todo ! ( )
335+ fn adapter_info ( & mut self , device : Resource < Device > ) -> Resource < webgpu:: GpuAdapterInfo > {
336+ let adapter_id = self . table ( ) . get ( & device) . unwrap ( ) . adapter ;
337+ let info = self . instance ( ) . adapter_get_info ( adapter_id) ;
338+ let info = self . table ( ) . push ( info) . unwrap ( ) ;
339+ info
337340 }
338341
339342 fn create_command_encoder (
@@ -2513,29 +2516,37 @@ impl<T: WasiWebGpuView> webgpu::HostGpu for WasiWebGpuImpl<T> {
25132516 }
25142517}
25152518impl < T : WasiWebGpuView > webgpu:: HostGpuAdapterInfo for WasiWebGpuImpl < T > {
2516- // TODO: take ideas from https://bugzilla.mozilla.org/show_bug.cgi?id=1831994
2517- fn vendor ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2518- todo ! ( )
2519+ // TODO: more real values here
2520+ // take ideas from https://bugzilla.mozilla.org/show_bug.cgi?id=1831994
2521+ // keep an eye on https://github.com/gfx-rs/wgpu/issues/8649
2522+ fn vendor ( & mut self , adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2523+ let adapter_info = self . table ( ) . get ( & adapter_info) . unwrap ( ) ;
2524+ adapter_info. vendor . to_string ( )
25192525 }
25202526
2521- fn architecture ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2522- todo ! ( )
2527+ fn architecture ( & mut self , _adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2528+ // TODO: implement real architecture
2529+ String :: new ( )
25232530 }
25242531
2525- fn device ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2526- todo ! ( )
2532+ fn device ( & mut self , adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2533+ let adapter_info = self . table ( ) . get ( & adapter_info) . unwrap ( ) ;
2534+ adapter_info. device . to_string ( )
25272535 }
25282536
2529- fn description ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2530- todo ! ( )
2537+ fn description ( & mut self , _adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> String {
2538+ // TODO: implement real description
2539+ String :: new ( )
25312540 }
25322541
2533- fn subgroup_min_size ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> u32 {
2534- todo ! ( )
2542+ fn subgroup_min_size ( & mut self , adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> u32 {
2543+ let adapter_info = self . table ( ) . get ( & adapter_info) . unwrap ( ) ;
2544+ adapter_info. subgroup_min_size
25352545 }
25362546
2537- fn subgroup_max_size ( & mut self , _self_ : Resource < webgpu:: GpuAdapterInfo > ) -> u32 {
2538- todo ! ( )
2547+ fn subgroup_max_size ( & mut self , adapter_info : Resource < webgpu:: GpuAdapterInfo > ) -> u32 {
2548+ let adapter_info = self . table ( ) . get ( & adapter_info) . unwrap ( ) ;
2549+ adapter_info. subgroup_max_size
25392550 }
25402551
25412552 fn drop ( & mut self , info : Resource < webgpu:: GpuAdapterInfo > ) -> wasmtime:: Result < ( ) > {
0 commit comments