1. 29 Jan, 2019 1 commit
    • Niklas Haas's avatar
      swapchain: add resizing API · ad242535
      Niklas Haas authored
      This is used both for updating the size and querying the size. I don't
      want to make these separate functions because it should be painfully
      obvious that the size you get may not be the size you request.
      
      This allows libplacebo to work on wayland, which mediates the concept of
      swapchain resizing to protocols like xdg_shell that mesa/vulkan can't
      know anything about (by design).
      ad242535
  2. 23 Nov, 2018 2 commits
  3. 22 Nov, 2018 2 commits
  4. 19 Nov, 2018 1 commit
    • Niklas Haas's avatar
      swapchain: improve latency consistency and documentation · 52c21bbc
      Niklas Haas authored
      This mirrors a similar change in mpv, which helped reduce vsync jitter
      measurements by including the time of frame acquisition in the
      `swap_buffers` call. In general, doing things this way around is nicer
      for the user. In typical swapchain implementations, it also "does the
      right thing" w.r.t actually blocking until the buffer swap.
      
      As a side effect of the necessary internal cache metadata, we also make
      the vulkan swapchain more robust against API misuse (especially
      out-of-order / non-lockstepped swapchain calls).
      52c21bbc
  5. 02 Nov, 2018 1 commit
  6. 29 Aug, 2018 1 commit
  7. 25 Aug, 2018 2 commits
  8. 06 Jun, 2018 1 commit
  9. 03 Jun, 2018 1 commit
    • Niklas Haas's avatar
      vulkan: add external VkImage interop API · e1016179
      Niklas Haas authored
      This is essentially the same interface that's used between pl_gpu and
      the vulkan swapchain implementation, tidied up a bit and exopsed to the
      user.
      
      This required tying off some loose ends related to queue families in
      order to make sure the behavior is defined.
      
      Closes #22.
      e1016179
  10. 15 Feb, 2018 2 commits
  11. 02 Feb, 2018 1 commit
    • Niklas Haas's avatar
      ra: rename ra to pl_gpu, change ra_ to pl_ · 3e881060
      Niklas Haas authored
      This is a very major rewrite operation, but all of the actual logic is
      unaffected. The change is completely cosmetic.
      
      The idea behind this is to avoid clashing the mpv ra_ namespace when
      libplacebo eventually makes its way back into mpv, allowing it to
      coexist with vo_gpu peacefully (at least for the transition period).
      
      It's also sort of weirdly inconsistent with the rest of libplacebo
      anyway.
      3e881060
  12. 18 Jan, 2018 2 commits
  13. 16 Jan, 2018 1 commit
    • Niklas Haas's avatar
      vulkan: add swapchain implementation · 8e7f3950
      Niklas Haas authored
      Mostly ported from mpv, but some parts were slightly rewritten. Notably,
      the way window resizing is handled. Instead of having two different
      sources of window size information and having to argue about which one
      to take as authoritative, we only use the current extent as reported by
      the vulkan implementation.
      
      Apparently, not all platforms report valid values here - particularly,
      wayland apparently doesn't. If somebody has an idea for how to figure
      out the size of a wayland window, feel free to tell me; because the
      vulkan wayland extension doesn't seem to consider it being possible.
      8e7f3950