1. 16 Nov, 2018 3 commits
  2. 12 Nov, 2018 1 commit
  3. 07 Nov, 2018 1 commit
    • Niklas Haas's avatar
      demos/video-filtering: make API 2 actually *use* DR · 365eb1bb
      Niklas Haas authored
      That brings back down the CPU usage of the API2 demo to basically zero.
      Doesn't change the execution time, just the CPU usage - so I don't have
      to update the results.
      Also fix a race condition when DR is in use.
  4. 06 Nov, 2018 1 commit
  5. 27 Oct, 2018 8 commits
    • Niklas Haas's avatar
      demos: improve comments · cdd4b8c0
      Niklas Haas authored
      Fix 1050 -> 1050 Ti, also fix typo and some other improvements
    • Niklas Haas's avatar
      demos: add results from nvidia systems · ebe98cb6
      Niklas Haas authored
      Thanks to those who tested (@sfan5, Fruit)
    • Niklas Haas's avatar
      demos: boost FPS by flushing after each work item · 082e7733
      Niklas Haas authored
      While this doesn't help much (and actively hurts) for mostly linear
      loads like the swapchain rendering, doing it for this style of offline
      work is a _massive_ boost in FPS for both radv and especially amdvlk.
    • Niklas Haas's avatar
      demos: more misc improvements · 457e1fef
      Niklas Haas authored
      Clean up some of the old/redundant size calculations, move the actual
      work out to its own function, and more importantly also throw in some
      dithering. This should provide a more realistic scenario, since
      debanding without dithering is pretty pointless.
      Also add a gitignore and explain how to compile the thing.
    • Niklas Haas's avatar
      demos: minor enhancements · b9269244
      Niklas Haas authored
      Be a bit less wasteful on the VRAM (especially the valuable DMA visible
      region), and also warn on the malloc fallback path.
    • Niklas Haas's avatar
      demos: fix typo in comment · a20b5918
      Niklas Haas authored
    • Niklas Haas's avatar
      demos: add a benchmark/proof of concept to video-filtering.c · 8d6b6e2a
      Niklas Haas authored
      This doesn't really serve to do anything particularly useful, but it
      demonstrates that the API can, in fact, be used - and more importantly,
      it allows me to benchmark just how much faster API #2 is versus API #1
      (and identify potential bottlenecks in order to get it faster).
      This is also the first time I've ever benchmarked the actual
      asynchronous texture upload/download process. Exciting stuff.
    • Niklas Haas's avatar
      demos: some misc video-filtering.c fixes · 6a6121f5
      Niklas Haas authored
      A bit/byte confusion in the stride calculation, also UNORM != UINT (we
      want the former). For debanding the sample mode has to be linear. Oh,
      and finally, an image locking function doesn't lock much if you don't
      actually call it. Oops.
  6. 26 Oct, 2018 1 commit
    • Niklas Haas's avatar
      demos: add new extensive video filtering demo · 2ee1e9a4
      Niklas Haas authored
      This outlines multiple possible API styles from "simple and naive" all
      the way to a complicated zero-copy asynchronous streaming API design.
      Maybe in the future we could present a small benchmark to demonstrate
      the improvements in throughput that are obtained from API #2? For now,
      just put the code out there to serve as documentation.
      Completely untested. It compiles, but that's about it. I'll probably
      expand this sample to an actually working proof of concept state
  7. 28 May, 2018 1 commit
  8. 15 Feb, 2018 1 commit
  9. 08 Feb, 2018 1 commit
    • Niklas Haas's avatar
      vulkan: implement texture format emulation · db75867d
      Niklas Haas authored
      This required some pretty complicated logic, but I tested it and it
      seems to be working. Basically, we can now just directly upload e.g.
      rgb8 by treating it as rgba8. This is a gigantic hack, but it's much
      faster than trying to CPU-convert it in cases where the data is already
      readily available in packed form, e.g. in a mapped buffer.
      Closes #9
  10. 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
  11. 01 Feb, 2018 1 commit
    • Niklas Haas's avatar
      renderer: implement overlay rendering for pl_image as well · 5021c95f
      Niklas Haas authored
      Closes #15
      The most annoying thing about this is that I decided to try and
      implement emulating the on-image OSD using the target OSD, which
      involves some tricky manipulation. We could also just say "no" and
      refuse to render on-image OSDs in such a situation, but it's not _that_
      difficult either so this would probably be a strict improvement as far
      as the status quo is concerned.
      Anyway, I tested it a bit and it seems to work, so I'll just leave it
      like this. If that code ever ends up causing problems in the future, we
      can just delete it again.
  12. 27 Jan, 2018 1 commit
    • James Ross-Gowan's avatar
      demos/sdl2: fix main() signature to match SDL_main · d847287b
      James Ross-Gowan authored
      SDL2 on Windows redefines main to SDL_main in order to insert platform-
      specific initialization before main() can run. For this to work, the
      signature of the main() method must match SDL_main(), which uses the
      C-standard (int argc, char *argv[]) argument list.
  13. 25 Jan, 2018 3 commits
  14. 22 Jan, 2018 6 commits
  15. 20 Jan, 2018 1 commit
  16. 18 Jan, 2018 5 commits
  17. 16 Jan, 2018 1 commit
    • Niklas Haas's avatar
      demos: add SDL2+vulkan example · 63469354
      Niklas Haas authored
      Pretty much the most stupid/naive thing I could come up with in order to
      get a picture onto the screen. Will serve as a useful testing ground for