Hello I have a shared library that I call from Chromium.
It does egl calls and has no problems doing things like creating textures.
However, no matter what sort of frame buffer functions I call, always results in a crash.
For example this call:
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
results in this crash:
glCheckFramebufferStatus
Received signal 11 SEGV_MAPERR 000000000000
#0 0x55f17f8405e2 base::debug::CollectStackTrace()
#1 0x55f17f79e063 base::debug::StackTrace::StackTrace()
#2 0x55f17f840101 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7fb5f5dc9520 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x4251f)
r8: 0000000000000000 r9: 0000000000000020 r10: 00007fb5f5d94560 r11: 00007fb5f5e061b0
r12: 000055f186116a58 r13: 000055f186116a58 r14: 000000000000000a r15: 000055f186117240
di: 0000000000008d40 si: 0000000000000000 bp: 00007ffc7968c2d0 bx: 00007ffc7968c2e0
dx: 00007fb5f58f73b0 ax: 0000000000000000 cx: 0000000000000c00 sp: 00007ffc7968be58
ip: 0000000000000000 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000014
trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
[0216/193051.560596:ERROR:command_buffer_proxy_impl.cc(325)] GPU state invalid after WaitForGetOffsetInRange.
FBO is not complete
I've been trying everything I can for a long time now to figure out why I cannot use framebuffers n my shared library called from Chromium.
I'm calling my shared library from the GPU thread.
I've tried comparable code running as a standalone app (not a shared lib called from Chromium) and the frame buffer functions seem to work fine.
I'm going to try to put together a minimal reproduction test case that shows exact source code.
But in the meantime, does this ring a bell for anyone? Anyone got any idea why this might be happening? I'm nearly out of magic tricks to make it work so I'm coming back to the group to ask.
Thanks!