-
-
Notifications
You must be signed in to change notification settings - Fork 589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support plugins #1266
Support plugins #1266
Commits on May 25, 2024
-
backend/egl: don't call gl_deinit without a current context
Otherwise epoxy will fail with assertion error. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ca12415 - Browse repository at this point
Copy the full SHA ca12415View commit details -
backend: prepare to pluginify the backends
Instead of a fixed table, allow an arbitrary number of backends to be registered through `backend_register`. Slightly refactored configuration validation. As a side-effect, you now have to explicitly specify a backend, because due to the dynamic nature of backends, there is no way to choose a default. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e512542 - Browse repository at this point
Copy the full SHA e512542View commit details -
config: support loading plugins
Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7ae1858 - Browse repository at this point
Copy the full SHA 7ae1858View commit details -
plugin: export
backend_register
It's unclear which functions a custom backend will need, let's be conversative first. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d9bc179 - Browse repository at this point
Copy the full SHA d9bc179View commit details -
And add a pkgconfig file so they can be found. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f5bebb3 - Browse repository at this point
Copy the full SHA f5bebb3View commit details -
backend: turn max_buffer_age into a function
We want to change the backend interface as little as possible once we release it as a public interface, so while we still can, we should try to give it maximum flexibility. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c1b0ba - Browse repository at this point
Copy the full SHA 5c1b0baView commit details -
backend: add
version
for querying the backend's versionSigned-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 21fe598 - Browse repository at this point
Copy the full SHA 21fe598View commit details -
api: introduce the concept of backend specific plugins
Allow loaded plugins to hook into specific backends. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbde4bb - Browse repository at this point
Copy the full SHA bbde4bbView commit details -
renderer: report present errors
Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c4f62c - Browse repository at this point
Copy the full SHA 9c4f62cView commit details -
backend: embed backend_operations table in backend_base
The idea is to allow backend plugins to override backend functions by modifying this table. Right now, when they do this they are actually changing a global variable and their change will persist after backend resets (!). Store the table inside backend_base solves this problem. Signed-off-by: Yuxuan Shui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd26302 - Browse repository at this point
Copy the full SHA bd26302View commit details