Commits on Source (2)
-
Alexandre Janniaux authored
The API is not used anymore, and with the removal of the reference counting pattern in objects, not required. Indeed, the OpenGL providers are neither multi-thread nor reentrant so it needs a locked stated when multiple clients needs to use it, which will also needs to be reference counted across the clients, so the whole reference counting can be done there. In addition, if the context was given from module to other module, like in the filter chain, the video contexts forwarded in those chains would already be doing the reference counting. As a side note, there would probably be few reasons to implement such forwarding currently anyway since it would means that the beginning of the chain would lose usage of the context, which also encompass a pool of output picture too currently.
f93738a6 -
Alexandre Janniaux authored
Remove vlc_gl_HasExtension helper from the public API and implement it as a private helper in modules. The reason for such helper was to help ensuring the core stays compatible with Core OpenGL profile, which is broken as soon as glGetString(GL_EXTENSIONS) is called instead of the glGetStringi(GL_EXTENSION, i) variant. Having the helper in the core led to issues against the MacOSX implementation. The extension store in gl_util.h prevents reloading the functions across multiple calls from vlc_gl_HasExtension, and the helper can easily be used in any OpenGL client which needs access to the extension list. Fix #26606 regression as a side effect Co-Authored-by:
Zhao Zhili <quinkblack@foxmail.com>
a162a177
Showing
- include/vlc_opengl.h 1 addition, 4 deletionsinclude/vlc_opengl.h
- modules/video_filter/egl_surfacetexture.c 4 additions, 1 deletionmodules/video_filter/egl_surfacetexture.c
- modules/video_filter/opengl.c 2 additions, 2 deletionsmodules/video_filter/opengl.c
- modules/video_output/android/display.c 1 addition, 1 deletionmodules/video_output/android/display.c
- modules/video_output/libplacebo/instance_opengl.c 1 addition, 1 deletionmodules/video_output/libplacebo/instance_opengl.c
- modules/video_output/opengl/display.c 2 additions, 2 deletionsmodules/video_output/opengl/display.c
- modules/video_output/opengl/gl_api.c 6 additions, 2 deletionsmodules/video_output/opengl/gl_api.c
- modules/video_output/opengl/gl_common.h 5 additions, 0 deletionsmodules/video_output/opengl/gl_common.h
- modules/video_output/opengl/gl_util.h 57 additions, 0 deletionsmodules/video_output/opengl/gl_util.h
- modules/video_output/opengl/importer.c 5 additions, 2 deletionsmodules/video_output/opengl/importer.c
- modules/video_output/opengl/interop.c 9 additions, 2 deletionsmodules/video_output/opengl/interop.c
- modules/video_output/opengl/interop_android.c 5 additions, 1 deletionmodules/video_output/opengl/interop_android.c
- modules/video_output/opengl/interop_sw.c 7 additions, 4 deletionsmodules/video_output/opengl/interop_sw.c
- modules/video_output/opengl/interop_vaapi.c 5 additions, 2 deletionsmodules/video_output/opengl/interop_vaapi.c
- modules/video_output/opengl/interop_vdpau.c 6 additions, 1 deletionmodules/video_output/opengl/interop_vdpau.c
- modules/video_output/opengl/sampler.c 4 additions, 1 deletionmodules/video_output/opengl/sampler.c
- modules/video_output/win32/glwin32.c 1 addition, 1 deletionmodules/video_output/win32/glwin32.c
- src/libvlccore.sym 1 addition, 3 deletionssrc/libvlccore.sym
- src/video_output/opengl.c 2 additions, 89 deletionssrc/video_output/opengl.c