-
Notifications
You must be signed in to change notification settings - Fork 341
Initial pass on API stability guarantees #1131
Conversation
void wlr_matrix_multiply(float mat[static 9], const float a[static 9], | ||
const float b[static 9]); | ||
|
||
void wlr_matrix_transpose(float mat[static 9], const float a[static 9]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mat ← aᵀ
It may make sense to update |
This is far too long of a promise. In fact, I'm against time-based promises at all, especially when it's something still as cutting edge as this.
I disagree with any of the wlr_log functions (excluding wlr_log_init) even being part of the API. We don't need to provide some generic logging framework; we just need to give people log messages when they want them. It's because of those functions being exported that sway{lock,bg,idle,bar,msg} are massively over-linked; just because they were using some rather worthless logging functions. |
I want to make proper stability promises, not some empty semver-based promise which'll just lead to releasing wlroots 138.19.2 in 6 months.
The important part is making it so that the application can process our logging and presumably incoproprate it with their own logging. |
As a possible example of this, wlroots-rs uses the logging system of wlroots-rs to log additional information (e.g. the lifetimes of handles, when they are dropped, and if there are any outstanding handles when it's dropped. This can help debugging for both wlroots-rs authors and compositor authors because a crash from using a dropped handle can now be seen that it needs to be cleaned up in the destructor). In Way Cooler we use our own logging system. It sounds like the real problem is the sway utility programs using the logging functionality. Perhaps there should just be a utility library for those programs that defines their own logging? |
Most logging systems I've seen, that are intended to be re-used, have a way to push down their own logging fuction, to e.g. redirect to syslog, from the current stderr approach. Might be worth a consideration as well. |
wlroots has that. |
This can't sit dead in the water forever. We need to address these two points:
|
That's pretty dangerous and could be potentially harmful. Also bye bye cool renderer stuff, bye bye DRM planes.
At least don't mark it as stable. |
We don't have to start labelling things as stable any time soon. |
Whyyyyyyy |
Ah. In this case the whole library won't ever be stable for years.
/shrug |
Right. We can roll this out nice and slow. |
Can you add tablet-v2 header to the files addapted in this PR? |
This introduces -DWLR_USE_UNSTABLE and adds information regarding the stability status to all headers. I started with a conservative set of headers to mark as stable: - types/wlr_matrix.h - util/edges.h - util/log.h - util/region.h - xcursor.h
Aight, we've gotta get some movement on this, so I'm going to merge this once the build passes. |
This introduces -DWLR_USE_UNSTABLE and adds information regarding the
stability status to all headers. I started with a conservative set of
headers to mark as stable:
Updates #1008