1. 18 Jan, 2019 1 commit
    • Carlos Garnacho's avatar
      wayland: Accept NULL primary data source · 60d22b7c
      Carlos Garnacho authored
      A NULL argument is expected here in order to unset the selection,
      meta_wayland_data_device_set_primary() accepts a NULL source, but
      gtk_primary_selection_device.set_selection was not handling a
      NULL wl_resource.
      
      Closes: #335
      60d22b7c
  2. 17 Jan, 2019 1 commit
  3. 16 Jan, 2019 13 commits
  4. 13 Jan, 2019 7 commits
    • Pekka Paalanen's avatar
      renderer/native: Prefer hardware rendering for primary GPU · 22f86512
      Pekka Paalanen authored
      Mutter prefers platform devices over anything else as the primary GPU.
      This will not work too well, when a platform device does not actually
      have a rendering GPU but is a display-only device. An example of this
      are DisplayLink devices with the proprietary driver stack, which exposes
      a DRM KMS platform device but without any rendering driver.
      
      Mutter cannot rely on EGL init failing on such devices either, because
      nowadays Mesa supports software renderers on GBM, so the initialization
      may well succeed.
      
      The hardware rendering capability is recognized by matching the GL
      renderer string to the known Mesa software renderers. At this time,
      there is no better alternative to detecting this.
      
      The secondary GPU data is abused for the GL renderer, as the Cogl
      context may not have been created yet.  Also, the Cogl context would
      only be created on the primary GPU, but at this point the primary GPU
      has not been chosen yet. Hence, GPU copy path GL context is used as a
      proxy and predictor of what the Cogl context might be if it was created.
      Mind, that even the GL flavour are not the same between Cogl and
      secondary contexts, so this is stretch but it should be just enough.
      
      The logic to choose the primary GPU is changed to always prefer hardware
      rendering devices while also maintaining the old order of preferring
      platform over boot_vga devices.
      
      Co-authored by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
      
      !271
      22f86512
    • Emilio Pozuelo Monfort's avatar
      renderer/native: Move primary GPU choosing later · 60ac2838
      Emilio Pozuelo Monfort authored
      Moves the primary GPU choosing to after all secondary gpu data has been
      created.
      
      This makes it possible for a future patch to start looking at secondary
      gpu data in choose_primary_gpu () to determine if it is using a hardware
      driver or a software renderer.
      
      Co-authored by: Pekka Paalanen <pekka.paalanen@collabora.com>
      
      !271
      60ac2838
    • Emilio Pozuelo Monfort's avatar
      renderer/native: Secondary gpu data for all · dfde2f59
      Emilio Pozuelo Monfort authored
      Initialize the secondary GPU data for all GPUs, even the primary one. By
      not looking at the primary_gpu_kms member, a future patch is allowed to
      postpone choosing the primary GPU.
      
      A future patch will use the secondary GPU data to decide which GPU will
      become the primary GPU.
      
      Co-authored by: Pekka Paalanen <pekka.paalanen@collabora.com>
      
      !271
      dfde2f59
    • Pekka Paalanen's avatar
      renderer/native: Count devices on EGLDevice check · 3d2ca9a6
      Pekka Paalanen authored
      create_renderer_gpu_data_egl_device () relied on the primary GPU being
      already chosen for the "EGLDevice currently only works with single GPU
      systems" error message. A future patch will choose the primary GPU after
      this, not before, so this check needs to be rewritten before the
      initialization order is changed.
      
      The new check is implemented exactly as the error message says: there
      must be exactly one GPU, otherwise fail.
      
      !271
      3d2ca9a6
    • Pekka Paalanen's avatar
      backends/native: Move primary_gpu into MetaRendererNative · 9182c8b8
      Pekka Paalanen authored
      Make the choosing and identity of the primary GPU an internal detail to
      the native renderer. MonitorManagerKms did not need it for anything.
      
      The primary GPU logic remains unchanged.
      
      This allows follow-up patches to change how the renderer chooses the
      primary GPU. It will be easier for the renderer to use private
      information for choosing.
      
      !271
      9182c8b8
    • Emilio Pozuelo Monfort's avatar
      backends/native: Re-order primary GPU choosing logic · 1def0990
      Emilio Pozuelo Monfort authored
      This is a step towards moving the primary GPU logic into the native
      renderer exclusively. In the future the renderer will have one more
      criterion on choosing the primary GPU than MetaMonitorManagerKms should
      know about: does a GPU offer hardware rendering.
      
      The choosing of primary GPU is separated from the discovery of GPUs.
      When GPUs are discovered and added to the list, the MetaGpuKmsFlag is
      now populated correctly and used in choosing.
      
      Choosing the primary GPU is done after all GPUs have been found and is
      slightly different from before:
      
      - Skipping devices that do not belong to our seat now works instead of
      becoming the primary GPU.
      
      - Fall back to any non-platform, non-boot_vga device if neither kind is
      found.
      
      The old preference of platform over boot_vga device is kept.
      
      The hotplug path will continue creating a gpu_kms without flags, because
      at that point the primary GPU has already been chosen and the flags are
      irrelevant.
      
      Co-authored by: Pekka Paalanen <pekka.paalanen@collabora.com>
      
      !271
      1def0990
    • Pekka Paalanen's avatar
      backends/native: Add flags to MetaGpuKms · ddb0ef1e
      Pekka Paalanen authored
      Add a flags field to MetaGpuKms. In following commits, the flags defined
      here will be set and used for choosing the primary GPU.
      
      Co-authored by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
      
      !271
      ddb0ef1e
  5. 12 Jan, 2019 2 commits
  6. 11 Jan, 2019 1 commit
  7. 10 Jan, 2019 4 commits
    • Florian Müllner's avatar
      Bump version to 3.31.4 · fda2e798
      Florian Müllner authored
      Update NEWS.
      fda2e798
    • Georges Basile Stavracas Neto's avatar
      Remove obsolete .cvsignore files · fb38738f
      Georges Basile Stavracas Neto authored
      We moved to git 11 years ago, it's about time.
      fb38738f
    • Georges Basile Stavracas Neto's avatar
      project: Update gitignore · 5eb749d6
      Georges Basile Stavracas Neto authored
      5eb749d6
    • Georges Basile Stavracas Neto's avatar
      Drop Autotools · 763ae36c
      Georges Basile Stavracas Neto authored
      I saw Meson fade from the sky
      On the wind I heard a sigh
      As snowflakes cover fallen Makefiles
      I will say this last goodbye
      
      Meson is now coming
      So ends Autotools days
      Future is now coming
      And we must away
      Over Python and without Bashisms
      Through lands where never Meson touched
      By silver streams that run down to the Sea
      
      Under parsers, beneath old legacy
      Over snow one winter’s morn
      I turned at last to paths that lead home
      And though where the road then takes me
      I cannot tell
      We came all this way
      But now comes the day
      To bid you farewell
      
      Many places I have been
      Many sorrows I have seen
      But I don’t regret
      Nor will I forget
      All Makefiles that took that road with me
      
      I bid you all a very fond farewell.
      763ae36c
  8. 09 Jan, 2019 2 commits
  9. 08 Jan, 2019 9 commits