summaryrefslogtreecommitdiff
path: root/PowerVR.mdwn
blob: 276e913761b981c06fa73a8b679a0ebbc1ec7ebf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# PowerVR

At least three PowerVR chip generations exist. The first was the version used
on the Matrox m3D card, which was a pure-3D accelerator card that plugged into
the PCI bus but had no monitor connector. Presumably one would render the 3D
scene on the PowerVR card and blit it across the bus to the existing 2D card.
This is a very strange device and would present interesting challenges to
support in the DRI. A second PowerVR chip was used in the Sega Dreamcast video
game console. There were also several PC-class PCI and AGP cards made under
the Kyro brand containing PowerVR chips.

There are probably further PowerVR chips being used in embedded devices.

The PowerVR chips appear to lack an explicit depth buffer, with the scene
instead being subdivided into tiles and the depth buffer constructed on the fly
for each frame. This would save significant memory on embedded platforms, but
might make full GL conformance a challenge.


## Status

No 2D or 3D driver for PowerVR chips exists in Xorg. The Linux kernel includes
an fbdev driver which is probably good enough to bootstrap an Xorg driver with.

Some 3D information can probably be gleaned from
[[KallistiGL|http://www.dchomebrew.org/freedev/kgl.pdf]], a GL subset in the
Dreamcast homebrew operating system KallistiOS. It's unknown how much of this
information would be relevant to earlier or later generations of PowerVR
hardware.

There exists a closed-source PowerVR binary driver for Linux 2.4 kernels,
including DRI support. It does not appear to be based on Mesa, and the
manufacturer has expressed no interest in supporting later kernels.


## Specifications

Potentially available under NDA.


## Resources



---

 [[CategoryHardwareChipset|CategoryHardwareChipset]]