surface offset semantics are mildly ambiguous
The doc for wl_egl_window_resize states:
* If the wl_surface.offset request is used, applications MUST pass 0 to both
* dx and dy.
And the protocol documentation for wl_surface_attach states:
[...] Setting anything other than 0
as x and y arguments is discouraged, and should instead be replaced
with using the separate wl_surface.offset request.
When the bound wl_surface version is 5 or higher, passing any
non-zero x or y is a protocol violation, and will result in an
'invalid_offset' error being raised. To achieve equivalent semantics,
use wl_surface.offset.
So we have text that indicates that it's ok to pass dx, dy to wl_egl_window_resize if you're not using wl_surface.offset, and we have text that suggests that passing x, y to an attach is merely discouraged, but we also clearly state that you'll receive an error for using non-zero x or y in any situation in which wl_surface.offset is available to you, regardless of whether it's used or not.
I think we should probably at least change the wl_egl_window_resize test to * If the wl_surface.offset request is available
?