eliemichel/WebGPU-Cpp

wgpu::Surface::capabilitiesFreeMembers() not generated correctly

mathiasplans opened this issue · 2 comments

I generated the wrapper for WebGPU 18.0.1. I got the following error:

thirdparty/webgpu/webgpu.hpp: In member function ‘void wgpu::Surface::capabilitiesFreeMembers()’:
thirdparty/webgpu/webgpu.hpp:2607:47: error: could not convert ‘((wgpu::Surface*)this)->wgpu::Surface::m_raw’ from ‘wgpu::Surface::W’ {aka ‘WGPUSurfaceImpl*’} to ‘WGPUSurfaceCapabilities’
 2607 |     return wgpuSurfaceCapabilitiesFreeMembers(m_raw);
      |                                               ^~~~~
      |                                               |
      |                                               wgpu::Surface::W {aka WGPUSurfaceImpl*}

A quick workaround:

void Surface::capabilitiesFreeMembers(SurfaceCapabilities &capabilities) {
	return wgpuSurfaceCapabilitiesFreeMembers(capabilities);
}

I think this should be a method of SurfaceCapabilities class.

Thanks for reporting this! Turns out that this recent update of webgpu.h is the very first time there is a procedure that is not a method of a handle but rather a method of a struct!