All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Clifton <pcjc2@cam.ac.uk>
To: Adam Jackson <ajax@redhat.com>
Subject: Re: 8-bit vs. 10-bit palette mode, and LVDS dithering
Date: Mon, 26 Apr 2010 23:22:38 +0100	[thread overview]
Message-ID: <1272320445.23864.4.camel@pcjc2lap> (raw)
In-Reply-To: <1272292191.25350.53.camel@atropine.boston.devel.redhat.com>

On Mon, 2010-04-26 at 10:29 -0400, Adam Jackson wrote:
> On Sat, 2010-04-24 at 17:25 +0100, Peter Clifton wrote:
> 
> > I noticed an anomaly in the register settings on my GM45, according to
> > PIPEBCONF, it is set in 10-bit palette mode, yet the KMS code programs
> > the palette registers as if it is in 8-bit mode, and doesn't touch the
> > PIPEBGCMAX{RED,GREEN,BLUE} entries for the final interpolation step.
> > 
> > I've played with it, and I "think" my screen looks nicer with the
> > palette reset to 8-bit mode. The KMS driver never touches this register
> > normally, and I think it should reset it in intel_display.c's
> > intel_crtc_load_lut.
> 
> You are almost certainly correct, we should be forcing 8-bit gamma mode.
> We're loading the palette as though we are, it's very unlikely to look
> right if programmed for 10-bit.
> 
> > Ideally, it would be nice to have a higher resolution gamma correction.
> > Will it work if I drm_mode_crtc_set_gamma_size(&intel_crtc->base, 129);
> > and feed that into the 10-bit linear-interpolated lookup table?

Comments on the following patch series (please don't apply as is!)

> There's a 256-stop assumption hardcoded in a bunch of places, and you
> want to be compatible with whatever ramp size userspace passes down.
> But, once you fix that, yes, 10-bit linear gamma should work regardless
> of the actual pixel depth.

If we start asking for a 129 entry LUT, the Xorg stack needs to be fixed
not to try and shove it a 256 entry table. There will be of course,
versions which still do that - and ideally the palette would still work
for those - either by fall-back to 8-bit mode, or by fudging a 10-bit
table from the passed data.

By patch 2 in the following series, this works by picking every other
entry out of the 256 entry table, and then accept the discontinuity by
taking the 256th entry in the passed LUT for the 129th register set.


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)

  parent reply	other threads:[~2010-04-26 22:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-24 16:25 8-bit vs. 10-bit palette mode, and LVDS dithering Peter Clifton
2010-04-26 14:29 ` Adam Jackson
2010-04-26 21:19   ` [PATCH] drm/intel: Set 8-bit gamma mode for the palette Peter Clifton
2010-04-27 13:53     ` Adam Jackson
2010-04-26 22:22   ` Peter Clifton [this message]
2010-04-26 22:24     ` [PATCH 1/3] drm/intel: Store full 16 bits of colors passed to gamma LUT Peter Clifton
2010-04-26 22:24     ` [PATCH 2/3] drm/intel: Attempt to use 10-bit gamma palette mode Peter Clifton
2010-04-27  1:09       ` Andrew Lutomirski
2010-04-27  6:44         ` Peter Clifton
2010-04-26 22:24     ` [PATCH 3/3] drm/intel: Use 10-bit palette properly, only store 129 entries Peter Clifton
2010-04-27 14:06       ` Adam Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1272320445.23864.4.camel@pcjc2lap \
    --to=pcjc2@cam.ac.uk \
    --cc=ajax@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.