Skip to content
  • Kristian Høgsberg's avatar
    xwm: Reparent client windows into ARGB windows · f9187198
    Kristian Høgsberg authored
    We used to rely on an ugly hack where the xwayland server would always
    report RGB X windows as having ARGB pixels, so that texturing from these
    would also sample the undefined alpha.  We also relied on Xrender rendering
    to RGB X windows to write the alpha channel correctly, so that when we
    texture from the RGB X window as an ARGB surface we end up getting the
    alpha written by Xrender.
    
    That was obviously all broken.  We can instead reparent client windows into
    ARGB frame windows.  That way we can render the decorations using a
    ARGB render pictformat and sample back those alpha values in a well-defined
    way.  We can also unbreak xwayland and let it report RGB pixel format for
    RGB windows.  We still need the opaque region or the RGB-only client window
    but that's OK.
    f9187198