• Mario Kleiner's avatar
    Revert "modesetting: Only use GAMMA_LUT if its size is 1024" · 6e23dae7
    Mario Kleiner authored
    This reverts commit 617f591f
    The problem described in that commit exists, but the two
    preceeding commits with improvements to the servers RandR
    code should avoid the mentioned problems while allowing the
    use of GAMMA_LUT's instead of legacy gamma lut.
    Use of legacy gamma lut's is not a good fix, because it will reduce
    color output precision of gpu's with more than 1024 GAMMA_LUT
    slots, e.g., AMD, ARM MALI and KOMEDA with 4096 slot luts,
    and some Mediathek parts with 512 slot luts. On KOMEDA, legacy
    lut's are completely unsupported by the kms driver, so gamma
    correction gets disabled.
    The situation is especially bad on Intel Icelake and later:
    Use of legacy gamma tables will cause the kms driver to switch
    to hardware legacy lut's with 256 slots, 8 bit wide, without
    interpolation. This way color output precision is restricted to
    8 bpc and any deep color / HDR output (10 bpc, fp16, fixed point 16)
    becomes impossible. The latest Intel gen gpu's would have worse
    color precision than parts which are more than 10 years old.
    Signed-off-by: Mario Kleiner's avatarMario Kleiner <mario.kleiner.de@gmail.com>