X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=NEWS;h=28c066c1f37bee6bc68b525741668dff05b0722f;hp=6b5bc19a61c1fdbb9cf5fa3c67792cbec151f588;hb=f0c77209245aa206996c7ef5395888e2859ff4bf;hpb=7d4b25da4c2f125b9357c6f1846a1e94ab60f5dc diff --git a/NEWS b/NEWS index 6b5bc19..28c066c 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,127 @@ +Movit 1.6.3, July 7th, 2019 + + - Various bugfixes. + + +Movit 1.6.2, March 18th, 2018 + + - Various bugfixes. + + +Movit 1.6.1, January 31st, 2018 + + - Loosen up some restrictions on strong one-to-one-effects. In particular, + this fixes a bug with MixEffect and compute shaders that hit some + Nageru setups. + + +Movit 1.6.0, January 24th, 2018 + + - Support for effects that work as compute shaders. Compute shaders are + generally slower than fragment shaders for the same algorithm, + but allow some forms of communication between shader invocations + and have more flexible output, which can enable more efficient algorithms. + See effect.h for more details. Note that the fastest rendering API on + EffectChain is now to a texture if possible, not to an FBO. This will + only matter if the last effect is a compute shader. + + - Movit now includes a compute shader implementation of DeinterlaceEffect, + which is automatically used instead of the fragment shader implementation + if your GPU and OpenGL driver supports it (in practice, this means on + all platforms except on macOS). The compute shader version is typically + 20–80% faster than the fragment shader version, depending on your GPU + and other factors. + + A compute shader implementation of ResampleEffect was written but + ultimately failed to be faster, and so is not included. + + - Support for microbenchmarks of effects through the Google microbenchmarking + framework (optional). Currently, DeinterlaceEffect and ResampleEffect has + benchmarks; enable them by running the unit test with --benchmark (also try + --benchmark --help). + + - Effects can now explicitly request _not_ to have mipmaps, which means they + can do so without needing to request bounce and fiddling with the sampler + state. Note that this is an API change for effects. + + - Movit now requires C++11, both to build and to #include the header files. + Support for SDL1 has been dropped; unit tests and the demo program now need + SDL2. + + - Various smaller bugfixes and optimizations. + + +Movit 1.5.3, August 10th, 2017 + + - Various bugfixes. + + +Movit 1.5.2, July 5th, 2017 + + - The texture generation for ResampleEffect (when the size is changed) + now uses less CPU. + + - Work around an NVIDIA driver threading bug by aggressively caching VAOs. + + +Movit 1.5.1, May 29th, 2017 + + - Allow YCbCrInput to change input format after finalize. + + - Some minor YCbCrInput bugfixes. + + +Movit 1.5.0, March 21st, 2017 + + - Support interleaved Y'CbCr input (4:4:4 in a single texture). + + - Support 10-bit and 12-bit Y'CbCr, both for input and output. For planar, + these are supported packed in 16-bit ints; for interleaved, 10:10:10:2 is + supported. (Efficient conversion to and from v210, ie. 10-bit 4:2:2, + is possible using compute shaders, but Movit does not include support + for them at the current point.) Note that this now means the num_levels + flag in YCbCrFormat actually matters, although 0 will be interpreted + as 256 (8-bit) for the benefit of older applications. + + - Limited support for having multiple Y'CbCr outputs from a chain. + + - Allow changing the Y'CbCr output coefficients runtime, ie., after finalize. + + - Fix an issue where the last pass would have been rendered with the sRGB + flag set, which confused Qt applications running in certain NVIDIA + configurations. + + +Movit 1.4.0, November 5th, 2016 + + - Allow setting the intermediate format for chains, instead of hardcoding + it at 16-bit RGBA; advanced users can use this to e.g. ask for 8-bit + sRGB intermediates, reducing the amount of memory bandwidth needed + at the cost of reduced precision. Whether this is a good tradeoff or not + depends on the exact chain and your requirements. + + - Fix an issue where a (cached) shader program could be used from multiple + threads at a time, causing the uniforms to contain unpredictable values. + + - Make the error printed on check_error() slightly friendlier: Include the + enum if possible, and print it to stderr instead of stdout. + + +Movit 1.3.2, February 23rd, 2016 + + - Fix an issue with initialization in certain locales. Patch from + Jean-Baptiste Mardelle. + + +Movit 1.3.1, February 15th, 2016 + + - Fix an issue where certain effect chains (particularly involving + out-of-tree effects that return only a constant color) could cause + texture coordinates not to be set properly. (The new code probably + also has slightly lower OpenGL driver overhead.) Reported by + Christophe Thommeret. + + Movit 1.3.0, January 31st, 2016 - Movit now requires GLSL 1.30 (so a driver from 2008 or later);