1. 29 Sep, 2018 6 commits
  2. 28 Sep, 2018 7 commits
    • Niklas Haas's avatar
      dispatch: fix std140/std430 packing rules · e6a3f6f0
      Niklas Haas authored
      Actually, turns out our rules were wrong after all: vec3 only consumes 3
      words even though it's aligned to 4, which we were not correctly
      accounting for.
      
      So in the struct { vec3; float; vec2 } the float and vec3 can be packed
      into the same vec4, whereas our code was assuming the vec3 consumed all
      four words (like its alignment).
      e6a3f6f0
    • Niklas Haas's avatar
      dispatch: use explicit offsets for push constants · 792a21f9
      Niklas Haas authored
      In the distant past this was a compile error, but it seems that has been
      fixed in glslang etc.
      
      Using explicit offsets is both safer and actually solves some very real
      driver bugs w.r.t wrong std430 packing.
      792a21f9
    • Niklas Haas's avatar
      shaders: fix compilation on clang · 693b346e
      Niklas Haas authored
      Clang doesn't like using sqrt in a constexpr, so just hard-code the
      constant. Whatever.
      693b346e
    • Niklas Haas's avatar
      shaders: improve the seeding · 6875a9c8
      Niklas Haas authored
      Seeding by gl_FragCoord was very bad since the PRNG seed generation
      performs horribly for large inputs. (mpv avoided this problem since it
      was seeding with the [0,1)-scaled texture coordinates, but we don't have
      access to those here)
      
      Also, multiplying the temporal index by pi also resulted in relatively
      cyclic patterns, since pi is well-approximated by 22/7.
      
      A simple way to salvage the situation without major code changes is to
      just use fract(phi * x) to turn an integer counter into a quasi-random
      floating point input. Since phi is the most irrational number this does
      not generate any visually obvious patterns at realistic scales.
      6875a9c8
    • Niklas Haas's avatar
      glslang: update for new glslang version · 5278a77e
      Niklas Haas authored
      This adds some new members to this struct. I still have zero clue why
      they don't provide this structure for us, so we don't have to copy/paste
      it from example code..
      5278a77e
    • Sebastian Ramacher's avatar
      meson: require version 0.47 · 2345f60b
      Sebastian Ramacher authored
      Type 'feature' for get_option was introduced in meson 0.47, so require
      it.
      2345f60b
    • Niklas Haas's avatar
      vulkan: treat empty device name like NULL · 17ded744
      Niklas Haas authored
      Right now, an empty device name would reject all devices except one
      that's literally empty. This change makes that case behave more sanely.
      17ded744
  3. 27 Sep, 2018 5 commits
  4. 26 Sep, 2018 5 commits
  5. 18 Sep, 2018 2 commits
    • Niklas Haas's avatar
      shaders/colorspace: make gamut warning work again · 3ebe44de
      Niklas Haas authored
      In 7aa14ac3 we made the tone mapping code hard-clip the output color
      before passing it on down the line. But this sort of defeats the gamut
      warning code, whose purpose was to detect clipped colors by checking for
      anything >1.0 in the output.
      
      Solve this dilemma by allowing a tiny bit of overshoot (1.01) and
      checking for >1.005 instead. This shouldn't make a difference except a
      tiny bit of discoloration when clipping, most likely not perceptible and
      only happens with the clipping tone mapping modes anyway.
      3ebe44de
    • Niklas Haas's avatar
      shaders/colorspace: correctly disable peak detection if set to 0 · 93183dfe
      Niklas Haas authored
      The documentation claims that 0 disables this behavior, and that's also
      the expected/correct behavior. However, the code would default to 63 in
      this case.
      93183dfe
  6. 31 Aug, 2018 3 commits
  7. 29 Aug, 2018 4 commits
  8. 25 Aug, 2018 3 commits
  9. 15 Aug, 2018 1 commit
  10. 03 Jul, 2018 3 commits
  11. 25 Jun, 2018 1 commit