output: remove wlr_output_impl.transform

The backend doesn't need to handle transform changes, since everything is done
in software. In fact, all of the implementations were all identical and just
set the transform.

We could add support for hardware transforms, but:

- This would require a different field (something like hardware_transform)
- Not all combinations are possible because there often are hardware
  limitations
- The Wayland protocol isn't ready for this (in particular xdg-output, see [1])

This belongs to a different patch series anyway.

[1]: https://patchwork.freedesktop.org/series/52324/
This commit is contained in:
Simon Ser 2019-06-16 12:35:40 +03:00 committed by Drew DeVault
parent 33127c545b
commit ce3f4c3fe1
8 changed files with 6 additions and 46 deletions

View file

@ -217,7 +217,11 @@ void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width,
void wlr_output_set_transform(struct wlr_output *output,
enum wl_output_transform transform) {
output->impl->transform(output, transform);
if (output->transform == transform) {
return;
}
output->transform = transform;
output_update_matrix(output);
struct wl_resource *resource;
@ -291,7 +295,7 @@ static void handle_display_destroy(struct wl_listener *listener, void *data) {
void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
const struct wlr_output_impl *impl, struct wl_display *display) {
assert(impl->attach_render && impl->commit && impl->transform);
assert(impl->attach_render && impl->commit);
if (impl->set_cursor || impl->move_cursor) {
assert(impl->set_cursor && impl->move_cursor);
}