Skip to content

glClientWaitSync and glWaitSync broken with WASM_BIGINT=1 #25932

@JosiahWhite

Description

@JosiahWhite

I am encountering runtime errors when trying to run an application built with emscripten, based on what I have found, the bindings for emscripten_glClientWaitSync and emscripten_glWaitSync are always defined to have split parameters for the timeout parameter in the header files. I am also getting an error in the console from wasm complaining that the function call ABI doesn't match what is expected.

From what I grasp, this relates to how on platforms not supporting BIGINT the timeout parameter needs split into a hi/lo pair. I can manually update the bindings to pass a single GLuint64 in system/lib/gl/webgl2.c and system/include/webgl/webgl2.h. After rebuilding the bindings via embuilder and rebuilding my application, everything appears to work fine but this doesn't seem like the proper way the issue should be solved.

I don't have a problem fixing this bug if I could get some insight into how the header files and bindings should be updated to properly work with both WASM_BIGINT=0 and WASM_BIGINT=1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions