Closed Bug 1741142 Opened 4 years ago Closed 4 years ago

Build error on android due to webgpu generated bindings defining ANativeWindow_setBuffersGeometry

Categories

(Core :: Graphics: WebGPU, defect)

Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: jnicol, Assigned: jnicol)

References

Details

Attachments

(1 file)

With my WIP patches to implement the GPU process on android, some android ndk headers get included in new places. We then run in to the following build error:

 3:54.60 In file included from Unified_cpp_gfx_layers6.cpp:83:
 3:54.60 In file included from /home/jamie/src/gecko/gfx/layers/ipc/CompositorBridgeChild.cpp:48:
 3:54.60 In file included from /home/jamie/src/gecko/obj-x86_64-unknown-linux-android-debug/dist/include/mozilla/widget/CompositorWidgetChild.h:9:
 3:54.60 In file included from /home/jamie/src/gecko/obj-x86_64-unknown-linux-android-debug/dist/include/mozilla/widget/AndroidCompositorWidget.h:10:
 3:54.60 In file included from /home/jamie/src/gecko/obj-x86_64-unknown-linux-android-debug/dist/include/AndroidNativeWindow.h:11:
 3:54.60 In file included from /home/jamie/src/gecko/obj-x86_64-unknown-linux-android-debug/dist/system_wrappers/android/native_window.h:3:
 3:54.60 /home/jamie/.mozbuild/android-ndk-r21d/sysroot/usr/include/android/native_window.h:164:9: error: conflicting types for 'ANativeWindow_setBuffersGeometry'
 3:54.60 int32_t ANativeWindow_setBuffersGeometry(ANativeWindow* window,
 3:54.61         ^
 3:54.61 /home/jamie/src/gecko/obj-x86_64-unknown-linux-android-debug/dist/include/mozilla/webgpu/ffi/wgpu_ffi_generated.h:4073:16: note: previous declaration is here
 3:54.61 extern int32_t ANativeWindow_setBuffersGeometry(void *aWindow,
 3:54.61                ^

ANativeWindow_setBuffersGeometry is declared in rust webgpu code here, and then cbindgen declares it in wgpu_ffi_generated.h, which conflicts with the NDK declaration.

We can add to the export.exclude section of cbindgen.toml to avoid this.

It conflicts with the NDK header's declaration, causing a build
failure.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Blocks: 1331109
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8983594fcd22 Don't export ANativeWindow_setBuffersGeometry declaration from wgpu. r=kvark
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: