PS2's Pixel Pipelines, VRAM, and texture handling...How does it work?

DUALDISASTER

Newcomer
How are they suppose to function? Feel free to compare or use the gamecube and or it's thread here....:cool: Always wanted to ask...Or to be really specific, how do you get effects and textures in 4MB's of VRAM? Wouldn't they exceed 4 MB's?
 
Last edited by a moderator:
Maybe if you asked a specific question, what it is precisely you want to know, maybe it would be possible to give an answer.

Oh, and by the way, PS2's framebuffer is DRAM. VRAM is/was a now obsolete type of memory with separate ports for simultaneous reading and writing that was somewhat popular on early/mid-90s PC VGA cards in particular.
 
I think VRAM is used to designate the memory accessed by the GPU, regardless of physical type. PC GPU RAM is often referred to as VRAM in this way (storing textures in VRAM) even though it's been GDDR for years. I've seen PS3's pool of GDDR designated as VRAM before too, being the RAM accessed by the GPU.
 
Shifty Geezer said:
I think VRAM is used to designate the memory accessed by the GPU, regardless of physical type. PC GPU RAM is often referred to as VRAM in this way (storing textures in VRAM) even though it's been GDDR for years. I've seen PS3's pool of GDDR designated as VRAM before too, being the RAM accessed by the GPU.

Yeah, I always call it that... TBH I sort of forget that it used to be a specific type of memory.

At least I'm not still calling it "fast memory" and "chip memory".

To try to answer the original vague question - the PS2 was exceedingly basic. You have a pool of embedded memory the GPU can access, and that's used for everything - all your framebuffers (colour, z, scanout) and textures.

There were no vertex pipelines to speak of, you just poke numbers into registers to make it draw stuff - so no memory is used for vertex information.

You can send it a list of things to do, where this list is essentially just a list of values to poke into registers. You use that same list to upload new textures - again you just poke some numbers into registers and then send texture data over.

Registers set up the draw state, including where to draw to and where the textures are - nothing is abstracted, we just have a 4M buffer of memory we can work with however we like. It's trivial to draw into a texture on PS2.

You can have a couple of different lists going at once (actually 3) and there's some fairly simple logic to decide which one to send to the GPU. Mostly that's used to have one list sending textures (from main memory) and one list sending geometry (from VU1).

The pixel pipes are simple too - you either get 16 of them without texturing, or 8 with.

What did you want to know?
 
Shifty Geezer said:
I think VRAM is used to designate the memory accessed by the GPU, regardless of physical type. PC GPU RAM is often referred to as VRAM in this way (storing textures in VRAM) even though it's been GDDR for years. I've seen PS3's pool of GDDR designated as VRAM before too, being the RAM accessed by the GPU.

FWIW, VRAM originally described RAM chips that had an additional serial port in order to supply the necessary bandwidth to feed the screen refresh whilst still allowing the framebuffer data to be updated by the host or graphics system. This, of course, was back in the days when the refresh was using a lot of the available bandwidth!
 
Guden Oden said:
Maybe if you asked a specific question, what it is precisely you want to know, maybe it would be possible to give an answer.

Oh, and by the way, PS2's framebuffer is DRAM. VRAM is/was a now obsolete type of memory with separate ports for simultaneous reading and writing that was somewhat popular on early/mid-90s PC VGA cards in particular.
The question was in the thread...How are they suppose to function?
 
DUALDISASTER said:
The question was in the thread...How are they suppose to function?

The PS2 has a very simplistic rasteriser - you get a colour at each vertex, interpolated across the polygon (non-perspective correct at that) and one texure co-ordinate per-vertex, fixed point (which means you get wobbly textures if you don't keep your co-ordinates in a sensible range), again interpolated - though at least the texture is perspective correct.

For each pixel it can look up a texture at the interpolated co-ordinate (the most you get in filtering is trilinear, but typically you would use bilinear with nearest-level mipmapping), modulate the texel with the interpolated colour, and then blend that with whatever was in the display using a fairly basic set of alpha-blend modes (you don't even get a modulated blend, except with an alpha value... most you can do with colour is add or substract).

Oh, you also get a fog value per-vertex, again non-perspective correct, and that just interpolates the colour of the pixel towards a fixed fog-colour before blending - you take a 50% performance hit for that though.

No fancy shaders or anything. It's exceedingly basic, but for the vintage, very fast.

Anything that looks like a fancy pixel shader on PS2 will generally be:

1) faked with palletised textures
2) faked with multipass rendering
3) faxed with render to texture

all of which the PS2 is good it. "faked" is a relative term - a lot of pixel shaders aren't do a whole lot more than a fixed blend operation anyway... you could compile a lot of them down to multiple simple passes anyway.
 
This incredibly simplistic approach really produced some stunning results. IMHO more performance has been tapped out of the PS2's theoretical maximums over its lifetime than any other console.
The fact that the PS2 has had the longest lifespan between GC, XBOX and itself does have some relevance but there has to be more to it...
 
Tahir2 said:
The fact that the PS2 has had the longest lifespan between GC, XBOX and itself does have some relevance but there has to be more to it...

Yeah there's more to it...it's called money.;)
 
I was alluding to the fact that the PS2 hardware design was a bit esoteric and some of its nuances were exploited in a positive fashion later on its life. The PS2 has kept up quite nicely with visuals even though it is older than XBOX and Gamecube hardware.
 
Tahir2 said:
...
The PS2 has kept up quite nicely with visuals even though it is older than XBOX and Gamecube hardware.

To me it screams "CRAPPY TEXTURES" as much as it can.
I can recon PS2 games simply by checking texture quality, and that's definetly the hardware fault, as talented artists have worked with the beast...

Definetly can't keep up with NGC and even less XBox...

But I'm going off topic, and it's just my opinion after all.
 
Back
Top