Skip to content
Snippets Groups Projects
  1. Apr 20, 2020
  2. Apr 19, 2020
  3. Apr 18, 2020
  4. Apr 15, 2020
    • Niklas Haas's avatar
      opengl: don't include glx.h · 885e89bc
      Niklas Haas authored
      Left over from development or something. Completely unused.
      
      Fixes #79.
      885e89bc
    • Niklas Haas's avatar
      include: fix reliance on #include "config.h" · 21013114
      Niklas Haas authored
      The reason we did things this way was because meson forcibly installs
      the `config.h` to the top level includedir, rather than to a
      subdirectory like `libplacebo/`. We solve the puzzle in the following way:
      
      1. Replace `#include "config.h"` by #include `<libplacebo/config.h>` in
         public headers
      
      2. Keep `#include "config.h"` inside the internal `"common.h"`
      
      3. Add a dummy empty `<libplacebo/config.h>` to a reachable (but not
         installed) include path to make sure this resolves at compile time.
         (The extra include is redundant at compile time because `common.h`
         already includes it for any source file inside libplacebo)
      21013114
    • Niklas Haas's avatar
      opengl: remove debug callback pthread madness · 0e949af7
      Niklas Haas authored
      I was under the mistaken impression that calling glDebugMessageCallback
      twice would add two callbacks (like in vulkan land), rather than
      overriding the callback to the second value. But OpenGL's callback
      mechanism is based on mutable global state (of course...).
      
      So we can safely just un-set the callback when we're done with it. And
      given that OpenGL is so globally mutable in general, I'm not sure it
      even remotely makes sense for us to be worrying about refcounting and
      multiple `pl_opengl` instances. Just nuke it all and make it clear that
      this is undefined behavior.
      0e949af7
    • Niklas Haas's avatar
      talloc: unlock mutex before destroying it · 719f63b8
      Niklas Haas authored
      This suppresses a validation issue in tsan which complains about
      destroying locked mutexes for some reason, even though the pthread man
      page claims this is fine.
      
      Apparently it causes issues if other threads are still waiting on this
      mutex, but if we're destroying a mutex that, to me, implies we already
      know nobody is waiting on it - otherwise you'd have the exact same race
      condition in between unlocking it and destroying it.
      
      It makes absolutely no sense, but whatever makes tsan happy, I guess.
      719f63b8
    • Niklas Haas's avatar
      ci: run msan/ubsan/asan on GPU host · e6394913
      Niklas Haas authored
      So we can actually test these at runtime with a GPU
      e6394913
    • Niklas Haas's avatar
      ci: re-enable vulkan for msan builds · 64936f20
      Niklas Haas authored
      I don't remember what this disabling was about, but it should hopefully
      no longer be needed.
      64936f20
    • Niklas Haas's avatar
      shaders/av1: fix grain scale for PL_COLOR_LEVELS_UNKNOWN · 75625d23
      Niklas Haas authored
      This `repr` struct was never properly initialized/defaulted, so we can't
      directly dispatch based on the levels (they may be UNKNOWN). Handle it
      properly with the new `pl_color_levels_guess` function.
      75625d23
    • Niklas Haas's avatar
      colorspace: make pl_color_levels_guess public · a185ab0f
      Niklas Haas authored
      By analogy to pl_color_space_guess_primaries. Mostly so we can use it
      internally.
      a185ab0f
    • Niklas Haas's avatar
      shaders/av1: fix undefined behavior · 547f4156
      Niklas Haas authored
      Addresses a couple of bugs picked up by ubsan related to shift offsets
      (which we forgot to default to 8) and one potential over-shift on signed
      integers.
      547f4156
    • Niklas Haas's avatar
      siphash: fix potential UB on inlen=0 · a0730899
      Niklas Haas authored
      siphash64() is not entirely safe to call on NULL, so guard against this
      by checking the length and returning the (known) fixed hash of the empty
      string.
      a0730899
Loading