[Intel-gfx] rfc: breaking old userspace gamma for 10-bit support

Eric Anholt eric at anholt.net
Mon Jul 26 19:26:07 CEST 2010

On Fri, 23 Jul 2010 16:29:06 -0400, Andrew Lutomirski <luto at mit.edu> wrote:
> On Fri, Jul 23, 2010 at 4:13 PM, Eric Anholt <eric at anholt.net> wrote:
> > On Fri, 23 Jul 2010 14:00:30 -0400, Andrew Lutomirski <luto at mit.edu> wrote:
> >> AFAICT intel hardware wants a 129-entry LUT when using high precision
> >> gamma ramps.  Rather than hacking some kind of decimation into the
> >> kernel driver (and thus silently breaking DirectColor), I'd like to
> >> teach userspace how to deal with variable gamma sizes.
> >>
> >> gnome-color-manager already more-or-less supports arbitrary gamma ramp
> >> sizes (supposedly), dispwin ought to do it, and there might not be any
> >> other software that really cares.  gnome-screensaver saves and
> >> restores the gamma ramp, and I haven't checked if it works right for
> >> funny sizes.
> >>
> >> The worst problem we'll have is that current xf86-drv-intel can't
> >> handle non-256 gamma sizes at all.  So if we change the kernel we'll
> >> break it completely.
> >>
> >> One option is to have the kernel report gamma_size = 129 but still
> >> accept 256 and decimate itself.  That might cause current userspace to
> >> keep working (except for DirectColor).
> >>
> >> Any thoughts?
> >
> > The kernel doesn't get to break old userspace.  The kernel could support
> > new userspace that only asks for 129 slots and set a mode that has
> > better precision in that case.  New interfaces would probably be
> > required to communicate that up front -- I haven't looked into it, but I
> > just want to make sure you don't spend a bunch of time going down a path
> > that will be rejected.
> >
> Does that include not breaking DirectColor?  If we program the gamma
> ramp to 129 slots, old userspace submits 256 entries that are not
> monotonic, and we decimate the gamma ramp, we'll display the wrong
> thing.  I have no idea if there are any programs *at all* that do
> that, though.  (If they did, presumably they'd make the entire screen
> look rather odd.)

I don't really know.  But if you want to change the userspace API, you
need to explain why your change doesn't break existing users of the
userspace API.  That may mean figuring out what existing users actually
do :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20100726/2e4a10e2/attachment.sig>

More information about the Intel-gfx mailing list