Giter Club home page Giter Club logo

planeshift's Issues

Wayland backend

I recently browsed a bit through the code and would like to leave two notes about the wayland backend:

  1. You use subsurface.place_below. This was not supported by Mutter (Gnome Shell) until very recently, but it just landed and will be supported in 3.34 (https://gitlab.gnome.org/GNOME/mutter/merge_requests/664)
  2. It might be possible to simplify the code quite a bit by making use of wp_viewporter (https://gitlab.freedesktop.org/wayland/wayland-protocols/blob/master/stable/viewporter/viewporter.xml). It allows to select what part of a buffer you would like to display, so you can e.g. paint the whole website into a buffer (of a subsurface) and then simply move the viewport around. Support for that landed in Mutter 3.32, but we need https://gitlab.gnome.org/GNOME/mutter/merge_requests/763 to land before it really works for this use case (I just wrote a test client and it works really well).

Edit: I created a MR for the demo client at https://gitlab.freedesktop.org/wayland/weston/merge_requests/259

Update:

After some discussion with Wayland and Mutter devs, we concluded that we don't need any additions for viewport scrolling and can use it simply with wl_surface.damage_buffer as long as EGL/DMABUF buffers are used, since we don't do extra copies then (with SHM buffers it would cause extra copies).

So since Webrender on Wayland already uses EGL, using wp_viewporter should be quite straight forward.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.