overte-org / overte

Overte open source virtual worlds platform.
https://overte.org/
Other
136 stars 50 forks source link

OpenGL errors #999

Open daleglass opened 3 months ago

daleglass commented 3 months ago

In debug mode, these pop up during startup:

[06/04 23:51:48] [WARNING] [qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1280 in glGetIntegerv
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameteri
[Previous message was repeated 5 times]
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameterf
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1280 in glTextureParameterfv
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameterf
[Previous message was repeated 3 times]
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameteri
[Previous message was repeated 5 times]
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameterf
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1280 in glTextureParameterfv
[06/04 23:51:48] [WARNING] [hifi.gpu.gl45] OpenGL error 1282 in glTextureParameterf

The glGetIntegerv is probably dynamic memory allocation not working on Intel Arc, but the rest are probably more interesting.

daleglass commented 3 months ago

Most seem to be coming from here:

#10 0x00007ffff7e995cc in gpu::gl45::GL45Backend::GL45Texture::syncSampler (this=0x7ffeeb3b7f60) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:303
#11 0x00007ffff7e9974c in gpu::gl45::GL45Backend::GL45FixedAllocationTexture::syncSampler (this=0x7ffeeb3b7f60) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:364
#12 0x00007ffff7e99ee0 in gpu::gl45::GL45Backend::GL45FixedAllocationTexture::GL45FixedAllocationTexture (this=this@entry=0x7ffeeb3b7f60, backend=<optimized out>, texture=...) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:330
#13 0x00007ffff7e99ef9 in gpu::gl45::GL45Backend::GL45AttachmentTexture::GL45AttachmentTexture (this=0x7ffeeb3b7f60, backend=<optimized out>, texture=<optimized out>) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:373
#14 0x00007ffff7e9a199 in gpu::gl45::GL45Backend::syncGPUObject (this=0x7fffabf450d0, texturePointer=<optimized out>) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:78
#15 0x00007ffff7e9854c in gpu::gl45::GL45Framebuffer::update (this=0x7fff318c5750) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendOutput.cpp:57
#16 0x00007ffff7e976ce in gpu::gl::GLFramebuffer::sync<gpu::gl45::GL45Framebuffer> (backend=<optimized out>, framebuffer=...) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLFramebuffer.h:45
#17 gpu::gl::GLFramebuffer::getId<gpu::gl45::GL45Framebuffer> (backend=<optimized out>, framebuffer=...) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLFramebuffer.h:51
#18 gpu::gl45::GL45Backend::getFramebufferID (this=<optimized out>, framebuffer=<optimized out>) at /home/dale/git/overte/libraries/gpu-gl/src/gpu/gl45/GL45BackendOutput.cpp:136
#19 0x00007ffff53d0b4d in gpu::gl::GLBackend::setFramebuffer (this=0x7fffabf450d0, framebuffer=std::shared_ptr<gpu::Framebuffer> (use count 6, weak count 0) = {...}) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLBackendOutput.cpp:59
#20 gpu::gl::GLBackend::do_setFramebuffer (this=0x7fffabf450d0, batch=<optimized out>, paramOffset=<optimized out>) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLBackendOutput.cpp:45
#21 0x00007ffff53cc4ef in gpu::gl::GLBackend::renderPassTransfer (this=this@entry=0x7fffabf450d0, batch=...) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp:351
#22 0x00007ffff53ccc86 in gpu::gl::GLBackend::render (this=0x7fffabf450d0, batch=...) at /home/dale/git/overte/libraries/gpu-gl-common/src/gpu/gl/GLBackend.cpp:559
#23 0x00007ffff4d7bd2c in gpu::Context::executeFrame (this=0x7fffabab1a90, frame=std::shared_ptr<gpu::Frame> (use count 1, weak count 0) = {...}) at /home/dale/git/overte/libraries/gpu/src/gpu/Context.cpp:146
#24 0x00007ffff7f000c9 in OpenGLDisplayPlugin::present (this=this@entry=0x7fffac018400, refreshRateController=std::shared_ptr<RefreshRateController> (use count 1, weak count 0) = {...}) at /home/dale/git/overte/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp:716
#25 0x00007ffff7f05a74 in PresentThread::run (this=0x7fffabc49300) at /home/dale/git/overte/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp:198
#26 0x00007ffff6af0906 in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#27 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287
#28 QThreadPrivate::start (arg=0x7fffabc49300) at thread/qthread_unix.cpp:310
#29 0x00007fffe32a91b7 in start_thread (arg=<optimized out>) at pthread_create.c:447
#30 0x00007fffe332b39c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Problems start at gpu::gl45::GL45Backend::GL45Texture::syncSampler in libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp:303, and then a bunch more on the following lines.

The first troublesome line is: glTextureParameteri(_id, GL_TEXTURE_MIN_FILTER, fm.minFilter);

id has the value of 6 at the first error.