Skip to content

OpenGL regression: green screen or wrong color with vaapi 10Bit

c344522ff264caa43c9dbc710484f01edbad04cb is the first bad commit
commit c344522ff264caa43c9dbc710484f01edbad04cb
Author: Romain Vimont <rom1v@videolabs.io>
Date:   Thu Mar 31 17:33:53 2022 +0200

    opengl: init textures properties from modules

    All interop modules reused the util function opengl_interop_init()
    (written for the software interop) to initialize the textures properties
    from the chroma.

    However, the actual texture format may not always be deduced from the
    chroma: only the interop implementations have the full knowledge of the
    texture details.

    Therefore, initialize texture properties directly from each interop
    implementation.

    Fixes #26735
    Fixes #26769

 modules/hw/nvdec/nvdec_gl.c                   |  69 ++++++++++++++-
 modules/video_output/opengl/interop_android.c |  21 +++--
 modules/video_output/opengl/interop_cvpx.m    | 117 +++++++++++++++++++-------
 modules/video_output/opengl/interop_dxva2.c   |  16 +++-
 modules/video_output/opengl/interop_vaapi.c   |  45 +++++++++-
 modules/video_output/opengl/interop_vdpau.c   |  19 +++--
 6 files changed, 230 insertions(+), 57 deletions(-)
╰─$ git bisect log
git bisect start
# good: [9382ef3826b3684dc5200bb9e6883fc808396a46] qml: correct binding loop in drop indicator
git bisect good 9382ef3826b3684dc5200bb9e6883fc808396a46
# bad: [d28034f6aedb19531f7ebdca6aef6c3a17156634] vlc_objects: add VLC_OBJECT macro for vlc_object_release
git bisect bad d28034f6aedb19531f7ebdca6aef6c3a17156634
# good: [58aaf06c14f7164ea61ffcb1acf33fb67a75447a] xcb/x11: set northwest bit gravity on output window
git bisect good 58aaf06c14f7164ea61ffcb1acf33fb67a75447a
# good: [b4a3ecc23f2dd261ddd312790efc9cf41b544375] contrib: Bump medialibrary to 0.11.2
git bisect good b4a3ecc23f2dd261ddd312790efc9cf41b544375
# good: [52e9ec8ffe02c731fb2f433a04ed893a926c78bf] vlc_vout_display: doc: fix broken references
git bisect good 52e9ec8ffe02c731fb2f433a04ed893a926c78bf
# bad: [b7b5fd49c888fbe054973b7635404f35029e9f55] qt: improve entry point formatting
git bisect bad b7b5fd49c888fbe054973b7635404f35029e9f55
# good: [bc9c39a3b7917c331edcb58d7c1ac60e8e76447b] appleOS build script: use bitcode support in contrib
git bisect good bc9c39a3b7917c331edcb58d7c1ac60e8e76447b
# good: [9a22bbd93f19c813af71f4f8d1015f744e08b07e] opengl: forward format to sampler
git bisect good 9a22bbd93f19c813af71f4f8d1015f744e08b07e
# bad: [d6cfada7d417869832d44750e921cca59f74cb7b] opengl: use texture_rg when available
git bisect bad d6cfada7d417869832d44750e921cca59f74cb7b
# bad: [a22a08af90d5e7ce41e52ca64c0995ecf474994d] opengl: fix leak on error
git bisect bad a22a08af90d5e7ce41e52ca64c0995ecf474994d
# bad: [c344522ff264caa43c9dbc710484f01edbad04cb] opengl: init textures properties from modules
git bisect bad c344522ff264caa43c9dbc710484f01edbad04cb
# good: [a4b20be00c1fec70dcda94505ce548884499274f] opengl: expose GetTexFormatSize() in interop
git bisect good a4b20be00c1fec70dcda94505ce548884499274f
# first bad commit: [c344522ff264caa43c9dbc710484f01edbad04cb] opengl: init textures properties from modules

Normal rendering:

image

Master rendering on X11:

image

On my machine with both wayland and Xwayland, I even get greened rendering:

image

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information