Laptop GPUs with more than 8bit/component support

Is there any laptop GPU that supports creating rendering contexts with high precision color, like 10/10/10, 12/12/12/12, or even 16/16/16/16 ?

And… is such precision available only on pbuffers or also on application windows?

From reading the documentation the intel hardware supports it; however it’s not exposed in the driver (it’s surely not in the Linux driver and AFAIK not in Windows either).

Philipp

Maybe it is only exposed in DirectX?

Probably any nVidia Quadro FX based on a G80 core:

ftp://download.nvidia.com/XFree86/Linux-x86_64/180.27/README/chapter-28.html

I have an nVidia Quadro FX 3600M. On Ubuntu 8.10 GNU/Linux x86_64 with driver 177.82, glxinfo gives me 284 GLXFBConfigs. Some of them have 16 even 32 bit per channel:

[b]
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat

[…]
0x1f1 0 sg 0 32 0 r . . 16 16 0 0 4 0 0 16 16 16 16 0 0 None
0x1f2 0 sg 0 32 0 . . 16 16 0 0 4 0 0 16 16 16 16 0 0 None
0x1f3 0 sg 0 32 0 r y . 16 16 0 0 4 0 0 16 16 16 16 0 0 None
0x1f4 0 sg 0 32 0 y . 16 16 0 0 4 0 0 16 16 16 16 0 0 None
0x1f5 0 sg 0 32 0 r . . 32 0 0 0 4 0 0 16 16 16 16 0 0 None
0x1f6 0 sg 0 32 0 . . 32 0 0 0 4 0 0 16 16 16 16 0 0 None
0x1f7 0 sg 0 32 0 r y . 32 0 0 0 4 0 0 16 16 16 16 0 0 None
0x1f8 0 sg 0 32 0 y . 32 0 0 0 4 0 0 16 16 16 16 0 0 None
0x1f9 0 sg 0 64 0 r . . 16 16 16 16 4 0 0 16 16 16 16 0 0 None
0x1fa 0 sg 0 64 0 . . 16 16 16 16 4 0 0 16 16 16 16 0 0 None
0x1fb 0 sg 0 64 0 r y . 16 16 16 16 4 0 0 16 16 16 16 0 0 None
0x1fc 0 sg 0 64 0 y . 16 16 16 16 4 0 0 16 16 16 16 0 0 None
0x1fd 0 sg 0 128 0 r . . 32 32 32 32 4 0 0 16 16 16 16 0 0 None
0x1fe 0 sg 0 128 0 . . 32 32 32 32 4 0 0 16 16 16 16 0 0 None
0x1ff 0 sg 0 128 0 r y . 32 32 32 32 4 0 0 16 16 16 16 0 0 None
0x200 0 sg 0 128 0 y . 32 32 32 32 4 0 0 16 16 16 16 0 0 None
0x201 0 sg 0 32 0 r . . 16 16 0 0 4 24 0 16 16 16 16 0 0 None
0x202 0 sg 0 32 0 . . 16 16 0 0 4 24 0 16 16 16 16 0 0 None
0x203 0 sg 0 32 0 r y . 16 16 0 0 4 24 0 16 16 16 16 0 0 None
0x204 0 sg 0 32 0 y . 16 16 0 0 4 24 0 16 16 16 16 0 0 None
0x205 0 sg 0 32 0 r . . 16 16 0 0 4 24 8 16 16 16 16 0 0 None
0x206 0 sg 0 32 0 . . 16 16 0 0 4 24 8 16 16 16 16 0 0 None
0x207 0 sg 0 32 0 r y . 16 16 0 0 4 24 8 16 16 16 16 0 0 None
0x208 0 sg 0 32 0 y . 16 16 0 0 4 24 8 16 16 16 16 0 0 None
0x209 0 sg 0 32 0 r . . 32 0 0 0 4 24 0 16 16 16 16 0 0 None
0x20a 0 sg 0 32 0 . . 32 0 0 0 4 24 0 16 16 16 16 0 0 None
0x20b 0 sg 0 32 0 r y . 32 0 0 0 4 24 0 16 16 16 16 0 0 None
0x20c 0 sg 0 32 0 y . 32 0 0 0 4 24 0 16 16 16 16 0 0 None
0x20d 0 sg 0 32 0 r . . 32 0 0 0 4 24 8 16 16 16 16 0 0 None
0x20e 0 sg 0 32 0 . . 32 0 0 0 4 24 8 16 16 16 16 0 0 None
0x20f 0 sg 0 32 0 r y . 32 0 0 0 4 24 8 16 16 16 16 0 0 None
0x210 0 sg 0 32 0 y . 32 0 0 0 4 24 8 16 16 16 16 0 0 None
0x211 0 sg 0 64 0 r . . 16 16 16 16 4 24 0 16 16 16 16 0 0 None
0x212 0 sg 0 64 0 . . 16 16 16 16 4 24 0 16 16 16 16 0 0 None
0x213 0 sg 0 64 0 r y . 16 16 16 16 4 24 0 16 16 16 16 0 0 None
0x214 0 sg 0 64 0 y . 16 16 16 16 4 24 0 16 16 16 16 0 0 None
0x215 0 sg 0 64 0 r . . 16 16 16 16 4 24 8 16 16 16 16 0 0 None
0x216 0 sg 0 64 0 . . 16 16 16 16 4 24 8 16 16 16 16 0 0 None
0x217 0 sg 0 64 0 r y . 16 16 16 16 4 24 8 16 16 16 16 0 0 None
0x218 0 sg 0 64 0 y . 16 16 16 16 4 24 8 16 16 16 16 0 0 None
0x219 0 sg 0 128 0 r . . 32 32 32 32 4 24 0 16 16 16 16 0 0 None
0x21a 0 sg 0 128 0 . . 32 32 32 32 4 24 0 16 16 16 16 0 0 None
0x21b 0 sg 0 128 0 r y . 32 32 32 32 4 24 0 16 16 16 16 0 0 None
0x21c 0 sg 0 128 0 y . 32 32 32 32 4 24 0 16 16 16 16 0 0 None
0x21d 0 sg 0 128 0 r . . 32 32 32 32 4 24 8 16 16 16 16 0 0 None
0x21e 0 sg 0 128 0 . . 32 32 32 32 4 24 8 16 16 16 16 0 0 None
0x21f 0 sg 0 128 0 r y . 32 32 32 32 4 24 8 16 16 16 16 0 0 None
0x220 0 sg 0 128 0 y . 32 32 32 32 4 24 8 16 16 16 16 0 0 None
[/b]

Can you use such GLXFBConfigs for on-screen OpenGL windows, or is it only for offscreen rendering? And, does the display technology support some kind of dithering when converting from 16/16/16/16 to the 8/8/8/8 format in the monitor screen? (I don’t mean the OpenGL dithering feature, since it’s ordered dithering and very low quality… I mean some higher quality dithering).

I’ve found that ATI Mobility Radeon HD 2000 and 3000 series have this feature on their spec lists: “Spatial/temporal dithering provides 30-bit color quality on 24-bit and 18-bit displays”.

Unfortunately they don’t publish their OpenGL technical specs, so I don’t know if you can create 10/10/10/2 windows for OpenGL rendering. Does anybody know if it’s supported?

For the first question, I don’t know.

For the second question, the nVidia link says there is some dithering when the output go through a flat panel:

When displaying a depth 30 image on a digital flat panel, the color data will be dithered to 8 or 6 bits per pixel, depending on the capabilities of the flat panel. VGA outputs can display the full 10 bit range of colors.