Skip to content
Snippets Groups Projects
  1. Sep 03, 2023
  2. Aug 08, 2023
  3. Aug 01, 2023
  4. Jul 30, 2023
  5. Jun 30, 2023
  6. Feb 26, 2023
  7. Feb 25, 2023
  8. Sep 24, 2021
  9. Jul 19, 2021
  10. Jul 02, 2021
    • James Ross-Gowan's avatar
      d3d11: add initial implementation · be32ca68
      James Ross-Gowan authored
      Add a pl_gpu implementation that uses Direct3D 11. This uses SPIRV-Cross
      to translate shaders from GLSL to HLSL. In its current state, plplay
      works and the test suite passes with feature level 10_0 and up. (9_x is
      unlikely to ever pass due to runtime-enforced shader complexity limits.)
      
      Missing features include emulated texture formats, cached_program,
      `pl_gpu_limits.thread_safe`, and HDR/high bit depth support in
      pl_swapchain, though these shouldn't be too hard to implement.
      
      This also updates the GLFW demos to be able to use Direct3D 11 through
      GLFW_NO_API.
      
      Closes #18
      be32ca68
  11. Apr 30, 2021
    • Niklas Haas's avatar
      vulkan: properly support -Dvulkan-link=false · 803c531b
      Niklas Haas authored
      When compiling with vulkan linking disabled, we define `vulkan_headers`
      as a dependency object that only includes vulkan.h, rather than linking
      against libvulkan, and use this for the main libplacebo library. This
      allows libplacebo itself to avoid linking against libplacebo altogether
      when this option is enabled, as was clearly the intent. The test
      framework and demos still use the regular, linked libvulkan.
      
      Supporting this, make sure we compile with VK_NO_PROTOTYPES in this
      case, and also fix a bug where we accidentally still directly called the
      linked vkCmdCopyImage, and another bug where we forgot to forward
      `get_proc_addr` to `pl_vulkan_choose_device`.
      
      Finally, scan for the presence of `vulkan.h` itself and use that as a
      fallback for `vulkan_headers`.
      803c531b
  12. Apr 21, 2021
    • 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
  13. 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
Loading