Skip to content
Snippets Groups Projects
  1. Aug 08, 2023
  2. Jun 30, 2023
  3. Feb 26, 2023
  4. Feb 25, 2023
  5. Jul 19, 2021
  6. Apr 21, 2021
    • Niklas Haas's avatar
      libplacebo: provide typedefs for all object types · dd755a09
      Niklas Haas authored and Niklas Haas's avatar Niklas Haas committed
      Apart from significantly cutting down amount the typing the user needs
      to perform, I decided the past justification for keeping these as `const
      struct` rather than typedef'd names no longer makes sense due to the way
      libplacebo objects tend to have private parts hidden from the user.
      
      Bite the bullet and refactor all the things. Should be backwards
      compatible, but I decided to bump the major version to signal the
      significance of this API change.
      dd755a09
    • Niklas Haas's avatar
      log: rename from pl_context · 2459200a
      Niklas Haas authored and Niklas Haas's avatar Niklas Haas committed
      Over the past few years, the use case of `pl_context` has increasingly
      shrinked, finally dwindling to "nothing other than logging" with the
      introduction of thread safety (and thus the loss of the "thread safety
      guard") As such, this being called `pl_context` is really unnecessarily
      confusing. It's just a glorified logging subsystem.
      
      Rename it, and make it optional in the process. Also introduce a typedef
      to make the new name shorter, as part of a new convention that I will be
      switching to moving forwards.
      
      This technically breaks the auto-cleanup behaviour of `pl_shader` and
      `pl_filter` but I really don't think those were all that useful or
      justified, and I don't think anybody relied on it.
      2459200a
  7. Apr 06, 2021
    • Niklas Haas's avatar
      demos: modularize windowing backend · 34decaab
      Niklas Haas authored
      Instead of compiling all variants of all demos, load the best backend at
      runtime. Also split off the nuklear implementation into a separate
      library to avoid excessively recompiling it, something that should have
      been done ages ago.
      
      This is technically a functionality downgrade, since it doesn't allow
      users to choose which backend to use (Vulkan or OpenGL), instead always
      picking the "best" backend. But that's mostly interesting for
      developers, not users, I think.
      
      I'll probably implement some mechanism for making that selection at
      runtime, when I actually need it.
      
      As an aside, I also renamed 'image' to 'sdlimage' since I think the name
      fits better - the only reason I didn't in the past was to avoid
      confusion with the suffix.
      34decaab
  8. Mar 31, 2021
    • Niklas Haas's avatar
      demos: add support for file drag&drop · 287684ab
      Niklas Haas authored
      I've decided this is by far the easiest way to avoid having to implement
      a file picker dialog, which would be significantly harder.
      
      Ideally we should support loading new files in plplay itself this way,
      but I couldn't be bothered implementing this yet.
      287684ab
  9. Mar 26, 2021
    • Niklas Haas's avatar
      demos/plplay: add UI with settings integration · 20a0b9b3
      Niklas Haas authored
      This is actually insanely useful for testing.
      
      Still missing some way to load custom shaders / 3DLUTs / ICC profiles,
      unfortunately. Also missing ICC-related settings, for reasons which may
      require an API change.
      20a0b9b3
  10. Mar 18, 2021
  11. Mar 17, 2021
    • Niklas Haas's avatar
      demos: refactor components and integrate into build system · c6f9fb97
      Niklas Haas authored
      Major refactor of the demos/ directory, accomplishing a number of goals:
      
      1. Allowing easy switching between OpenGL and Vulkan variants.
      2. Supporting both GLFW and SDL2, chosen at compile time. The window
         management itself was made entirely modular for this purpose.
      3. Refactor all of the demo programs atop these new abstractions.
      4. Building them correctly and automatically (via meson).
      
      I also plan on factoring out the nuklear code to its own helper, but I
      avoided making that part of the same commit to prevent it from blowing
      up any further.
      c6f9fb97
Loading