Implementation of PXA270 18BPP mode
Sergey Lapin
slapinid at gmail.com
Tue Apr 27 13:37:21 PDT 2010
On Tue, Apr 27, 2010 at 11:54 PM, Adam Jackson <ajax at nwnk.net> wrote:
> On Tue, 2010-04-27 at 23:43 +0400, Sergey Lapin wrote:
>> On Mon, Apr 26, 2010 at 10:25 PM, Adam Jackson <ajax at nwnk.net> wrote:
>> > On Thu, 2010-04-22 at 13:34 +0400, Sergey Lapin wrote:
>> >
>> >> Options I run X server with are /usr/X11R6/bin/X :0 -br -audit 0
>> >> -fbbpp 32 -depth 18 -weight
>> >> 666 -extension RENDER -extension Composite
>> >
>> > Depth 18 at 32 bits per pixel? Really?
>> Alas, yes. According to 7.4.13.5 of PXA 270 manual,
>> the format is that each pixel occupy 32-bit word in little-endian format,
>> of which bits 0-17 are used for pixel data in RGB666 format. each
>> occupying 6 bits
>> of data.
>
> That's spectacular. I hope they at least give you six bits of alpha for
> your trouble.
>
No, they don't. Other bits are unused.
Below is xdpyinfo output. How could I use this information?
I'm not quite familiar with the codebase, but I managed to make ubuntu
pixman work
so X server won't dump core with such settings, and display proper
colors until RENDER
is used (for antialiasing). I've tried to patch some settings in, but
it seems not enough,
since colors are still invalid for antialiased bitmaps and fonts.
Images in viewers and gimp
are ok.
ubuntu at ubuntu:~$ DISPLAY=:0 xdpyinfo -ext RENDER
name of display: :0.0
version number: 11.0
vendor string: The X.Org Foundation
vendor release number: 10600000
X.Org version: 1.6.0
maximum request size: 16777212 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 8
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 8, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 15, bits_per_pixel 16, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
depth 18, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 255
focus: PointerRoot
number of extensions: 27
BIG-REQUESTS
Composite
DAMAGE
DOUBLE-BUFFER
DPMS
DRI2
GLX
Generic Event Extension
MIT-SCREEN-SAVER
MIT-SHM
RANDR
RECORD
RENDER
SECURITY
SGI-GLX
SHAPE
SYNC
X-Resource
XC-MISC
XFIXES
XFree86-DGA
XFree86-VidModeExtension
XINERAMA
XInputExtension
XKEYBOARD
XTEST
XVideo
default screen number: 0
number of screens: 1
screen #0:
dimensions: 480x272 pixels (127x72 millimeters)
resolution: 96x96 dots per inch
depths (8): 18, 1, 4, 8, 15, 16, 24, 32
root window id: 0xc2
depth of root window: 18 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x20
default number of colormap cells: 64
preallocated pixels: black 0, white 262143
options: backing-store NO, save-unders NO
largest cursor: 480x272
current input event mask: 0x1a0000
StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask
number of visuals: 2
default visual id: 0x21
visual:
visual id: 0x21
class: TrueColor
depth: 18 planes
available colormap entries: 64 per subfield
red, green, blue masks: 0x3f000, 0xfc0, 0x3f
significant bits in color specification: 8 bits
visual:
visual id: 0x40
class: TrueColor
depth: 32 planes
available colormap entries: 64 per subfield
red, green, blue masks: 0x3f000, 0xfc0, 0x3f
significant bits in color specification: 8 bits
RENDER version 0.10 opcode: 148, base error: 157
Render formats :
pict format:
format id: 0x22
type: Direct
depth: 1
alpha: 0 mask 0x1
red: 0 mask 0x0
green: 0 mask 0x0
blue: 0 mask 0x0
pict format:
format id: 0x23
type: Direct
depth: 8
alpha: 0 mask 0xff
red: 0 mask 0x0
green: 0 mask 0x0
blue: 0 mask 0x0
pict format:
format id: 0x24
type: Direct
depth: 4
alpha: 0 mask 0xf
red: 0 mask 0x0
green: 0 mask 0x0
blue: 0 mask 0x0
pict format:
format id: 0x25
type: Direct
depth: 32
alpha: 24 mask 0xff
red: 16 mask 0xff
green: 8 mask 0xff
blue: 0 mask 0xff
pict format:
format id: 0x26
type: Direct
depth: 32
alpha: 0 mask 0x0
red: 16 mask 0xff
green: 8 mask 0xff
blue: 0 mask 0xff
pict format:
format id: 0x27
type: Direct
depth: 32
alpha: 0 mask 0x0
red: 12 mask 0x3f
green: 6 mask 0x3f
blue: 0 mask 0x3f
pict format:
format id: 0x28
type: Direct
depth: 18
alpha: 0 mask 0x0
red: 12 mask 0x3f
green: 6 mask 0x3f
blue: 0 mask 0x3f
pict format:
format id: 0x29
type: Direct
depth: 18
alpha: 0 mask 0x0
red: 16 mask 0xff
green: 8 mask 0xff
blue: 0 mask 0xff
pict format:
format id: 0x2a
type: Direct
depth: 18
alpha: 0 mask 0x0
red: 0 mask 0xff
green: 8 mask 0xff
blue: 16 mask 0xff
pict format:
format id: 0x2b
type: Direct
depth: 15
alpha: 0 mask 0x0
red: 8 mask 0xf
green: 4 mask 0xf
blue: 0 mask 0xf
pict format:
format id: 0x2c
type: Direct
depth: 15
alpha: 0 mask 0x0
red: 0 mask 0xf
green: 4 mask 0xf
blue: 8 mask 0xf
pict format:
format id: 0x2d
type: Direct
depth: 15
alpha: 0 mask 0x0
red: 10 mask 0x1f
green: 5 mask 0x1f
blue: 0 mask 0x1f
pict format:
format id: 0x2e
type: Direct
depth: 15
alpha: 0 mask 0x0
red: 0 mask 0x1f
green: 5 mask 0x1f
blue: 10 mask 0x1f
pict format:
format id: 0x2f
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 8 mask 0xf
green: 4 mask 0xf
blue: 0 mask 0xf
pict format:
format id: 0x30
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 0 mask 0xf
green: 4 mask 0xf
blue: 8 mask 0xf
pict format:
format id: 0x31
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 10 mask 0x1f
green: 5 mask 0x1f
blue: 0 mask 0x1f
pict format:
format id: 0x32
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 0 mask 0x1f
green: 5 mask 0x1f
blue: 10 mask 0x1f
pict format:
format id: 0x33
type: Direct
depth: 16
alpha: 15 mask 0x1
red: 10 mask 0x1f
green: 5 mask 0x1f
blue: 0 mask 0x1f
pict format:
format id: 0x34
type: Direct
depth: 16
alpha: 15 mask 0x1
red: 0 mask 0x1f
green: 5 mask 0x1f
blue: 10 mask 0x1f
pict format:
format id: 0x35
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 11 mask 0x1f
green: 5 mask 0x3f
blue: 0 mask 0x1f
pict format:
format id: 0x36
type: Direct
depth: 16
alpha: 0 mask 0x0
red: 0 mask 0x1f
green: 5 mask 0x3f
blue: 11 mask 0x1f
pict format:
format id: 0x37
type: Direct
depth: 16
alpha: 12 mask 0xf
red: 8 mask 0xf
green: 4 mask 0xf
blue: 0 mask 0xf
pict format:
format id: 0x38
type: Direct
depth: 16
alpha: 12 mask 0xf
red: 0 mask 0xf
green: 4 mask 0xf
blue: 8 mask 0xf
pict format:
format id: 0x39
type: Direct
depth: 24
alpha: 0 mask 0x0
red: 16 mask 0xff
green: 8 mask 0xff
blue: 0 mask 0xff
pict format:
format id: 0x3a
type: Direct
depth: 24
alpha: 0 mask 0x0
red: 0 mask 0xff
green: 8 mask 0xff
blue: 16 mask 0xff
pict format:
format id: 0x3b
type: Direct
depth: 24
alpha: 0 mask 0x0
red: 12 mask 0x3f
green: 6 mask 0x3f
blue: 0 mask 0x3f
pict format:
format id: 0x3c
type: Direct
depth: 32
alpha: 0 mask 0x0
red: 0 mask 0xff
green: 8 mask 0xff
blue: 16 mask 0xff
Screen formats :
Screen 0 (sub-pixel order Unknown)
filters: nearest, bilinear, convolution, fast(nearest),
good(bilinear), best(bilinear)
visual format:
visual id: 0x21
pict format id: 0x28
visual format:
visual id: 0x40
pict format id: 0x27
depth formats:
depth 18
pict format id: 0x28
pict format id: 0x29
pict format id: 0x2a
depth formats:
depth 1
pict format id: 0x22
depth formats:
depth 4
pict format id: 0x24
depth formats:
depth 8
pict format id: 0x23
depth formats:
depth 15
pict format id: 0x2b
pict format id: 0x2c
pict format id: 0x2d
pict format id: 0x2e
depth formats:
depth 16
pict format id: 0x2f
pict format id: 0x30
pict format id: 0x31
pict format id: 0x32
pict format id: 0x33
pict format id: 0x34
pict format id: 0x35
pict format id: 0x36
pict format id: 0x37
pict format id: 0x38
depth formats:
depth 24
pict format id: 0x39
pict format id: 0x3a
pict format id: 0x3b
depth formats:
depth 32
pict format id: 0x25
pict format id: 0x26
pict format id: 0x27
pict format id: 0x3c
S.
More information about the xorg-devel
mailing list