S3 Chrome 20 AA Investigation - curiousity

Robbitop

Newcomer
Hallo guys,

actually I'm investigating the Anti-Aliasing Modes of Chrome20 Series.
Since introduction of columbia architekture (DeltaChrome, GammaChrome, Chrome20) the S3 GPUs are able to process 2x/5x and 9x sparsed grid Anti-Aliasing. As I figured out the columbia doesn't natively support SG-FSAA. The driver effects an ordered grid mode on the game but before applying FSAA the geometry is rotated on a certain angle by Vertexshader. After rendering the downfiltering in the Pixelshader rotates the image back. As a result the Columbia architecture supports SGSSAA. So they realized SGSSAA nearly without any transistor cost (any GPU is able to do OGSSAA). Of course there are a few drawbacks on the algorithm. The main disadvantage is about the sample grid. There are only limited possibilities of masks for realization. Only 2x 4x and 5x are possible with an nearly optimal SG Mask. 9xSGSSAA has a suboptimal mask because the inhomogen assignment of the samples. As a result there are sample gaps between a few pixel. An other disadvantage of the 9x mask is a sample on the edge of a pixel, so this sample is shared between two pixels. Result is a slightly kind of blur. Whatever...the imagequality is awesome! Much better than current ATI/NV algorithm. The picture is smooth and calm. (windowed ..I love it!)

Any details and masks can be seen in the linked article above.

Now I found a curiousity about the AA: In windowed Mode it works very well, but Fullscreen it purely sucks. The contrast-stages are permuted or there are too less of them.
Actually the rendertarget is not the problem. I made screenshots with window + fullscreen at the same resultions. For that I choosed a certain cutout of the screens (game: mafia).

5x Fullscreen
www.sunshinecoast.de/roger/mafia5x_FS.PNG

5x Window
www.sunshinecoast.de/roger/mafia5x_window.PNG

9x Fullscreen
www.sunshinecoast.de/roger/mafia9x_FS.PNG

9x Window
www.sunshinecoast.de/roger/mafia9x_window.PNG

Shots were taken in 1024x768 32 bit color - I scale the outcut by factor 4.
As you can see the image quality of windowed mode is much better (speed-loss is both the same). The same results I got from any other game I tested (LFS2/UT03/Max Payne 2) and with Tommti-System FSAA Tester. So this issue is not game related, it's related to the driver. Demirug (developer) told me it has to be a driver issue, because anything that runs in windowed has to run in full screen as well...if it doesn't the driver is the reason. (Actually I tried 3 different drivers, this issue is unfixed since ever...)

Now tell me what you think.

P.S
I really hope, S3 devs are reading this, because bugreports per mail ususally don't have any real effect. So please fix this issue.


P.P.S. I noticed the same effect on the trilinear and the anisotropic filter. There is much shimering in Full Screen but nearly no shimering in windowed mode (in any tested driver). But I have to investigate more detaily later.

Awww and sorry for my english...I know it sucks.
 
Last edited by a moderator:
You could use the FSAA viewer in full-screen and windowed mode to compare the behavior. There should be a link to it someplace on this site.
 
I mentioned in my post that I did that. The behaviour was exactly the same as in mafia and max payne 2. Actually the windowed/FS mode of the AA Tester gave me the clou about this whole issue.
 
Robbitop said:
I mentioned in my post that I did that. The behaviour was exactly the same as in mafia and max payne 2. Actually the windowed/FS mode of the AA Tester gave me the clou about this whole issue.
Why don't you provide those shots for us? There's also an AF quality viewer, but I don't know if that works in full-screen mode.
 
Last edited by a moderator:
These aren't what I was looking for. The FSAA viewer will show you sample patterns and can even repeat the pattern for multiple pixels so you can see if the pattern is consistent from pixel to pixel.
 
If your zooming something to show per-pixel detail USE NEAREST/POINT FILTERING.

Sorry but I don't mean to be a bastard :(
 
Last edited by a moderator:
I just zoomed it with hypersnap ..dunno wich filter this thing use. But it supposed to be no filter, just quadruple the pixel (I used a 4x zoom and the picture looked without any change but larger to me...IMO you can see the constrast stages on it very well!).

So here are the FSAA Viewer shots:

5x Fullscreen
www.sunshinecoast.de/roger/fsaaviewer_5x_full.png

5x Fullscreen with repeated patern
www.sunshinecoast.de/roger/fsaaviewer_5x_full_m.png

5x windowed with repeated patern
www.sunshinecoast.de/roger/fsaaviewer_5x_window_m.png



9x Fullscreen
www.sunshinecoast.de/roger/fsaaviewer_9x_full.png

9x Fullscreen with repeated patern
www.sunshinecoast.de/roger/fsaaviewer_9x_full_m.png

9x windowed with repeated patern
www.sunshinecoast.de/roger/fsaaviewer_9x_window_m.png
 
Last edited by a moderator:
What is there to suggest? That S3 thought random sample weights are a good idea? :LOL:
 
Well the reason for the difference of the sample pattern in FS/window. I cannot imagine that this mess was planned in the first place.
 
Robbitop said:
Since introduction of columbia architekture (DeltaChrome, GammaChrome, Chrome20) the S3 GPUs are able to process 2x/5x and 9x sparsed grid Anti-Aliasing. As I figured out the columbia doesn't natively support SG-FSAA. The driver effects an ordered grid mode on the game but before applying FSAA the geometry is rotated on a certain angle by Vertexshader. After rendering the downfiltering in the Pixelshader rotates the image back. As a result the Columbia architecture supports SGSSAA. So they realized SGSSAA nearly without any transistor cost (any GPU is able to do OGSSAA).
How is this any different than what 3dfx did when they jittered the samples? Can't any architecture render a scene 4 times, jittering the vertex positions each time, and the composite the results? It's possible a little bit of custom hardware might help, but at the moment I don't see why it would be necessary.
 
3dcgi said:
How is this any different than what 3dfx did when they jittered the samples? Can't any architecture render a scene 4 times, jittering the vertex positions each time, and the composite the results? It's possible a little bit of custom hardware might help, but at the moment I don't see why it would be necessary.
I admit there are similarities in the philosophy of both AA algorithms. Both are realized with a trick and both are very cheap on the transistor budget.
But there is a big difference between the two methods. As you mentioned the 3dfx version just renders a picture a few times but with a different sampleposition (in the pixel) and after that the pictures are mixed together (by linear interpolation I guess).
The pro of the 3dfx thing is, that the sample pattern is very flexible so you can get very good sample masks for any sample count. For that the rasterizer and the trisetup have to be flexible enough. *
S3 has AFAIK no flexibility in sample pattern they just can apply any ordered grid SSAA. This can be done by nearly any chip. After that, the geometry is rotated by the vertexshader. Then there is the rendering process (with OGSSAA). And finally the picture is rotated back by the PixelShader. This whole thing is a driver-based-AA. It's quietly unflexible but it's very very cheap to the transistor budget.
I guess 3dfx have "paid" a lot more transistors for realizing there famous SG-SSAA.


*In Super-AA (CF AA) a kind of 3dfx method is used again for the 2xSG-SSAA.
And as you can see on SLI-AA, which works very similar to Super-AA, the lack of flexibility in the trisetup results bad sample pattern. With TSAA and AAA they do actually the same. Different sample positions of some "marked" (as alpha test) pixels are going through the pipeline a few times. At the end the are mixed together -> AT Textures are supersampled.
 
Last edited by a moderator:
Robbitop said:
Hallo guys,

actually I'm investigating the Anti-Aliasing Modes of Chrome20 Series.
Awww and sorry for my english...I know it sucks.

*snip*

Ok, a very simple question from me (most of this is beyond me). What resolution do you run your desktop at, and, do you run your games at that same resolution? (Someone may see what i'm getting at...not going to say much now for fear of being beaten senseless by my lack-of-knowledge :p)

And your english is just fine, I acutally thought it was pretty cool when you said "architekture".
 
A few months ago I tested some S3 drivers (on delta-chrome S8):

15.10.11.c WHQL: ok, RG
15.11.06.s: ok, RG (last working driver?)
15.13.04.h1 broken RG
15.16.07: broken RG
15.15.08.c: broken RG (OG when using Gamma-Chrome!)
 
Back
Top