On Fri, 23 Jul 2010 16:29:06 -0400, Andrew Lutomirski <l...@mit.edu> wrote: > On Fri, Jul 23, 2010 at 4:13 PM, Eric Anholt <e...@anholt.net> wrote: > > On Fri, 23 Jul 2010 14:00:30 -0400, Andrew Lutomirski <l...@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 :)
pgpNqgdbmLYGx.pgp
Description: PGP signature
_______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx