mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-29 16:41:58 -05:00
The GLX_EXT_texture_from_pixmap spec says: The contents of the texture after the drawable has been bound are defined as the result of all rendering that has completed before the call to glXBindTexImageEXT. In other words, the results of any operation which has caused damage on the drawable prior to the glXBindTexImageEXT call will be represented in the texture. Rendering to the drawable while it is bound to a texture will leave the contents of the texture in an undefined state. However, no synchronization between rendering and texturing is done by GLX. It is the application's responsibility to implement any synchronization required. In practice, on most systems with a GPU this kept a directly binding to the framebuffer, which made it work with the previous code. However, on software rasterization setups using llvmpipe, a blit was done inside the call to glXBindTexImageEXT. This was the cause of a notoriously ignored bug where the captured image would "freeze" until the source was reconfigured.
18 KiB
18 KiB