emscripten-core / emscripten

Emscripten: An LLVM-to-WebAssembly Compiler
Other
25.84k stars 3.31k forks source link

Offscreen canvas rendering in proxy thread via ProxyingQueue #18164

Open ASPuzik opened 2 years ago

ASPuzik commented 2 years ago

In our project we use the following build flags: "-sOFFSCREENCANVAS_SUPPORT", "-sPROXY_TO_PTHREAD" and try to do some gpu rendering it pthread but nothing is displayed. No errors in console. Our loop works via ProxyingQueue. When we switch loop to emscripten_set_main_loop our content is rendered successfully. If debug our code then content is rendered when stopped on breakpoint. Is it possible to do offscreen rendering the way I've described?

Version of emscripten/emsdk: 3.1.24

ASPuzik commented 2 years ago

I tried to run this test: "gl_in_proxy_pthread". If it is built without ASYNCIFY I think I see the same behavior. Is there is a way to see intermediate states in this test without ASYNCIFY? For example if I use emscripten_set_main_loop instead of "for(int i = 0; i < 100; ++i)" loop, I can see intermediate states. Possible exists another way to do this?