[RFC] Visual Class for On-Screen HDR Drawables

Adam Jackson ajax at nwnk.net
Wed Jan 4 15:48:17 UTC 2017


On Tue, 2017-01-03 at 19:27 -0800, Keith Packard wrote:
> > Adam Jackson <ajax at nwnk.net> writes:
> > Finally, the rop and planemask parts of the GC really don't make sense
> > for floats. I'd be inclined to define the new visual class such that
> > only GXcopy with planemask ~0 is defined.
> 
> It's either that or define all core rendering in terms of the
> transformed sRGB unorm pixel values? That almost seems worse.

Agreed. Why bother to specify an excruciatingly exact behaviour that
nobody wants or will use.

> And should we define Render to work "right" with these formats?

Either we define the interaction with Render, or automatic redirection
(and backing store) don't work. But again we're painted into a bit of a
corner:

typedef struct {
    CARD16  red B16;
    CARD16  redMask B16;
    CARD16  green B16;
    CARD16  greenMask B16;
    CARD16  blue B16;
    CARD16  blueMask B16;
    CARD16  alpha B16;
    CARD16  alphaMask B16;
} xDirectFormat;

Since we can't express the real masks we'd again be forced to operate
on HDR-destroying sRGB. We could add an internal format that operated
on the float representation, but we can't expose that to clients
without a protocol bump.

- ajax


More information about the xorg-devel mailing list