View Full Version : ImgTec Videologic / PowerVR / ST Micro: From PCX to Kyro II

31-10-10, 08:14
Videologic / PowerVR PCX & PCX 2

(This posting is still in beta-stage, information herein not confirmed and exhaustive!)

The first chips from PowerVR reaching the publics' attention were called PCX in Q4 1996 and a little later the improved PCX2. They were used on a small number of third party board designs, namely the Apocalypse 3D (and later the Apocalypse 5D as a 2D/3D combo card with 2D being delivered by a Tseng chip) and the add-on card Matrox m3D. Additionally, there seems to be a small amount of cards pre-built into Compaq Presario systems.


The chip was manufactured by NEC in 500 nm process tech an looked quite huge in their ceramic housing. The cards utilized the PCI bus and were equipped with 4 MiByte of SDR-SDRAM which was enough for a render resolution of up to 1024x768. Because the chip didn't need a separate framebuffer and used a technique called Infinite Planes, it rendered only small chunks of the image at a time, sending finished ones to the 2D cards' buffer and consequently, the cards didn't have any external display inteface. The generation of these little chunks of the image was done by the host CPU and thus the PCX chips had a greater demand for CPU horsepower than most competing solutions.


31-10-10, 12:40
Videologic / PowerVR Neon 250

(This posting is still in beta-stage, information herein not confirmed and exhaustive!)

No text, only pics so far.


31-10-10, 12:52
PowerVR Series 3: Kyro (STG4000)

Enter the TBDR! That stands for Tile-Based Deferred-Renderer and describes exactly, what the chip with the measly specs does. For when judged only by its theoretical paper specs, the STG4000 (publicly dubbed Kyro), was almost laughable with intially only 115 MHz, two render pipelines (one texture unit each) and equally slow 115 MHz framebuffer and texture memory with 1,8 GByte/sec of bandwidth. Competing solutions had twice the texture power and higher frequencies to show off with.

Only very slowly ideas to render more efficiently were implemented, such as texture caches or the Hyper-z package in Ati's Radeon. In this environment PowerVR unleashed a chip onto the market, whose specs were more than underwhelming. With only two rendering pipelines working at 115 MHz and equally un-speedy memory, it was roughly at the level of yesteryears mid-range cards such as the 1998 Riva TNT or Ati Rage – if you made the grave error and only looked at the specs!

PowerVR employed a concept of smart rendering called TBDR, tile-based deferred rendering. The chip received the incoming 3D command stream from the host processor but instead of just beginning to render stuff like mad, it waited until all information for a single image had been sent and then started to sort all the geometry and other information in small tiles. Those – by design – were small enough that every operation other than texture fetch was kept completely internal to the chip and it's buffers - no time consuming memory operations interrupted the process. Because it had all the information it needed to complete any given tile, it could also sort the polygons before doing any other work on them. This enabled the PowerVR chip effectively to only render pixels that were also going to be displayed to the user whereas in other architectures it was common that already drawn pixels were overwritten by others nearer to the users point of view – that is called „overdraw”.

Since PowerVR's Kyro (Series 3) did not waste time on those discarded pixels, the company decided to incorporate this feature into the marketed specs. Instead of citing its nominal texture fillrate of 230 MTex/sec. (2 pipelines x 115 MHz), they factored in supposedly typical overdraw into the so called super-fillrate.

PowerVR had some nice looking demos available in their SDK that were designed to show off the chips strenghts. One of them is called Villagemark and shows a small village with rows and rows of houses. Traditional rendering architectures at the time would have to process a lot of unnecessary geometry and pixels which later were occluded by other buildings. Presumably, PowerVR used either unsorted or back to front rendering, which effectively forces traditional graphics chips to render every surface only to overwrite already calculated pixels with newer ones closer to the viewer. In it's most recent version available, it still runs on modern hardware (as of Q4 2010), which employs now many techniques in order to avoid the pitfalls of scenes like these, making Villagemark a nice fillrate and HSR-test. I captured a video of the integrated benchmark with my Radeon HD 5870 and uploaded it on youtube:


Please note that this level of image quality and fps rates wasn't possible when the Villagemark first shipped but even the very fast Geforce 2 Ultra had immense problems displaying more than low two-digit fps rates.

Furthermore, updates to the stencil buffer could be kept on chip and thus be carried out extremely fast. This is used for example in stencil shadows, a rendering technique used for example in some of the games based on the id Tech 3 Engine. In Quake 3 it is accessible, though somewhat broken at times, through the console command r_shadows 3. Stencil- or volumetric shadows were also one of the main features of Doom 3's unified shadowing and lighting system and the id-Tech 4 Engine used. PowerVR's FableMark is using multiple layers of volumetric shadowing in a similar style, but apparently only uses a single light source. Thanks to the design of the FableMark, running under the Direct3D API, high levels of transparent overdraw is present here also, making the demo from PowerVR's SDK a challenge for the ROPs and HSR mechanisms employed in graphics processors even ten years after the inception of FableMark although you can run insane amounts of anti aliasing and still get smooth animations. Here's a youtube video showing the demo.