Welcome, Unregistered.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Reply
Old 14-Sep-2002, 14:10   #1
Ante P
Senior Member
 
Join Date: Mar 2002
Posts: 1,448
Default Radeon 9700: FSAA, 24-bit Z-buffer and no W-buffer

All this talk about the loss of the 32 bit Z-buffer and the W-buffer got me thinking. (And please don't laugh at me since I'm not a techie guy so this might be very silly hehe.)

The Radeon 9700 samples the Z-buffer when using FSAA.
Maybe there's some problem with sampling/compressing the W-buffer when using FSAA?
The same might apply to a 32-bit Z-buffer, or maybe the reason is performance?

As for a "pure" 32-bit Z-buffer: I saw that someone stated that no consumer card has support for it but that's crap. The Radeon 7x00 and 8x00 has support for a 32 bit Z-buffer as well as a "24+8" bit Z-buffer.

Also what bitdepth does a W-buffer have? I think I recall some Nv-Tweaker having options for 16, 24 AND 32? (I have no idea if a stencil buffer is viable when using a W-buffer though.)

Share your thoughts.

(BTW if it's a simple matter of FSAA not working properly/at all when using a W-buffer it sure seems strange since ATi apparently thinks that it's worthless to use FSAA in 16 bpp modes, so why care about the few games that use a W-buffer?? )
Ante P is offline   Reply With Quote
Old 14-Sep-2002, 23:31   #2
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

Support for a 32-bit z-buffer is pointless unless at least 8 bits of alpha are also available.
Chalnoth is offline   Reply With Quote
Old 14-Sep-2002, 23:35   #3
Kristof
Senior Member
 
Join Date: Jan 2002
Location: Abbots Langley
Posts: 732
Default

Quote:
Originally Posted by Chalnoth
Support for a 32-bit z-buffer is pointless unless at least 8 bits of alpha are also available.
Do you mean "stencil" rather than "alpha" since I don't really see the link between Depth Accuracy and spread and alpha values 8)

K-
Kristof is offline   Reply With Quote
Old 15-Sep-2002, 00:18   #4
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

Yes, I meant stencil, sorry.
Chalnoth is offline   Reply With Quote
Old 15-Sep-2002, 00:42   #5
Ante P
Senior Member
 
Join Date: Mar 2002
Posts: 1,448
Default

Hehe pointless post.
The thread didn't have (shouldn't have) anything to do with the "point" of a 32-bit Z-buffer.
Ante P is offline   Reply With Quote
Old 15-Sep-2002, 01:49   #6
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

I don't think you're understanding me correctly. Regardless of hardware support for a 32-bit z-buffer, that support is essentially useless unless a stencil buffer is also available.

As a side note, with the NV30's packed floating point pixel format, it should be possible to allocate 128 bits per pixel however the programmer chooses. There's already been note of the possibility of doing a w-buffer in the shaders, but the only obstacle to a 32-bit z-buffer is the absolute accuracy of the z calculations, though there would likely be a substantial performance hit, as you would, presumably, need to read in the 128-bit final scene for the final output.

Here's an example of a way that a programmer might be able to use the 128-bit pbuffer: 64-bit floating point RGBA, 32-bit z-buffer, 8-bit stencil, and 24-bits either unused, or put to some other purpose. If I scanned the CineFX specs properly, then this should definitely be possible.
Chalnoth is offline   Reply With Quote
Old 15-Sep-2002, 05:53   #7
Luminescent
Senior Member
 
Join Date: Aug 2002
Location: Miami, Fl
Posts: 1,036
Default

This 128-bit flexible allocation is only possible on nv-30?
Luminescent is offline   Reply With Quote
Old 15-Sep-2002, 07:08   #8
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

I believe so, but I'm not certain.
Chalnoth is offline   Reply With Quote
Old 15-Sep-2002, 08:29   #9
Dave Baumann
Gamerscore Wh...
 
Join Date: Jan 2002
Posts: 12,949
Default

FYI - floating point Z-Buffers could be supported by R300. If they do turn up then it will be in the FireGL boards.
__________________
Expand. Accelerate. Dominate.
Tweet Tweet!
Dave Baumann is offline   Reply With Quote
Old 15-Sep-2002, 11:28   #10
Basic
Senior Member
 
Join Date: Feb 2002
Location: Linköping, Sweden
Posts: 846
Default

Doing Z yourself in PS would kill all early z-stuff. So you realy want to avoid it as much as possible.

R300 doesn't pack different types into one 128 bit buffer, but can save pretty much the same data into separate buffers. With the addition that it can store up to 512 bit data per pixel (four buffers with 4x(24+8) bits).
Basic is offline   Reply With Quote
Old 15-Sep-2002, 11:36   #11
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

Oh, that's right, Basic, I hadn't thought of that.

On the other hand, if the hardware supports 32-bit z and no stencil, perhaps a packed format could be used to put the stencil back in, while retaining the efficiency of the early-z stuff?
Chalnoth is offline   Reply With Quote
Old 15-Sep-2002, 12:38   #12
Nagorak
Member
 
Join Date: Jun 2002
Posts: 854
Default

Couldn't you write early-Z algorithyms in the PS program too? Or would that just be counter-productive?
Nagorak is offline   Reply With Quote
Old 15-Sep-2002, 12:47   #13
Ante P
Senior Member
 
Join Date: Mar 2002
Posts: 1,448
Default

Did anyone even read the topic?
It has little or nothing to do with a 32/24+8 Z-buffer per se.

The POINT of the topic was the relationship between a (pure) 32-bit Z-buffer/W-buffer and FSAA did you all manage to miss that?
Ante P is offline   Reply With Quote
Old 15-Sep-2002, 14:39   #14
Derek Smart [3000AD]
Member
 
Join Date: Sep 2002
Location: Weston, FL
Posts: 271
Default

Quote:
Originally Posted by Chalnoth
Oh, that's right, Basic, I hadn't thought of that.

On the other hand, if the hardware supports 32-bit z and no stencil, perhaps a packed format could be used to put the stencil back in, while retaining the efficiency of the early-z stuff?
Not really, because you'd still have to write it back out. And arrive at the same point (precision loss) you'd get with a 24 bit Z + 8 bit stencil. I hope I did'nt misunderstand the question.

I asked ATI to remove those settings from their control panel (heh, and they actually did) because of this kind of confusion. At one point in the driver life, you could specify if you wanted a 16 or 24 bit Z + 8 bit stencil among other settings. It was causing a lot of problems and users were pissing around with it and causing all manner of problems. As if the drivers been bad wasn't bad enough.

Just do a search for Radeon in this FAQ and you'll see what I mean.
__________________
Derek Smart, Ph.D.
Designer/Lead Developer
The Battlecruiser Series
Derek Smart [3000AD] is offline   Reply With Quote
Old 15-Sep-2002, 15:17   #15
Basic
Senior Member
 
Join Date: Feb 2002
Location: Linköping, Sweden
Posts: 846
Default

I think Chalnoth proposed that if you had hardware with a real 32 bit z-buffer with working early z, and wanted to add a 8 bit stencil buffer, then you wouldn't need to go down to 24+8 bit z+stencil. You could keep the 32 bit z-buffer as usual, still have working early z. The stencil operations could be done in the PS, and the stencil buffer is stored in a separate buffer. The hardware wouldn't know that it's a stencil buffer, you'd do everything yourself and a "stencil" test would include a 'KILL'-instruction.

There's of course no chance to have an "early stencil" check (I don't know if that's available in any hardware though), and the stencil operations will cost you PS cycles.


Ante P:
Who cares about the topic? :P Since when did the topic say anything about the discussion in the thread?

Just kidding.
Let's see if I remember this right. A Z-buffer doesn't store real Z, but a value that can be interpolated linearely in screen space. This makes the hardware simpler, and it certainly makes it easier to implement some z-buffer compression. Adding the possibility for a W-buffer means more hardware.

(Was that enough on topic to avoid your wrath?)
Basic is offline   Reply With Quote
Old 15-Sep-2002, 16:24   #16
Derek Smart [3000AD]
Member
 
Join Date: Sep 2002
Location: Weston, FL
Posts: 271
Default

Quote:
Originally Posted by Basic
I think Chalnoth proposed that if you had hardware with a real 32 bit z-buffer with working early z, and wanted to add a 8 bit stencil buffer, then you wouldn't need to go down to 24+8 bit z+stencil. You could keep the 32 bit z-buffer as usual, still have working early z. The stencil operations could be done in the PS, and the stencil buffer is stored in a separate buffer. The hardware wouldn't know that it's a stencil buffer, you'd do everything yourself and a "stencil" test would include a 'KILL'-instruction.

There's of course no chance to have an "early stencil" check (I don't know if that's available in any hardware though), and the stencil operations will cost you PS cycles.
I quite agree and thats why I was expecting that they'd gone and implemented a true 32bit Z buffer (as I mentioned here), having removed the W buffer support entirely. I could'a sworn that I saw mention of a 32 Bit Z buffer support somewhere during the 9xxx series hyping. Maybe they just either disabled or removed it, at the last minute. One will never know I suppose.
__________________
Derek Smart, Ph.D.
Designer/Lead Developer
The Battlecruiser Series
Derek Smart [3000AD] is offline   Reply With Quote
Old 15-Sep-2002, 16:57   #17
Reverend
Naughty Boy!
 
Join Date: Jan 2002
Posts: 3,266
Default

Quote:
Originally Posted by DaveBaumann
FYI - floating point Z-Buffers could be supported by R300. If they do turn up then it will be in the FireGL boards.
Did you ask ATI why this is so (i.e. could be supported on a R300 but even if such is the case, why only in FireGL?)? What, useless feature for game developers? I don't think so.
__________________
Reverend
Dev Anon : Best game ever? Hmm... you mean other than anything from us? (2005)
Reverend is offline   Reply With Quote
Old 15-Sep-2002, 17:47   #18
Derek Smart [3000AD]
Member
 
Join Date: Sep 2002
Location: Weston, FL
Posts: 271
Default

Quote:
Originally Posted by Reverend
Quote:
Originally Posted by DaveBaumann
FYI - floating point Z-Buffers could be supported by R300. If they do turn up then it will be in the FireGL boards.
Did you ask ATI why this is so (i.e. could be supported on a R300 but even if such is the case, why only in FireGL?)? What, useless feature for game developers? I don't think so.
I did ask ATI this question in the past (and I have the original email and the reply from dev relations) but they simply told me that it wasn't the direction they were going in. Yes, I found that odd, even for the cards/drivers that were out at the time.

I suspect that not supporting floating point Z is another one of those cases where they don't want to jeapardize the speed of the card/driver - similar to that lame excuse about removing W buffer support.

I dunno, but I still see NO reason why they removed W buffer support. I simply don't get it. They're more concerned about speed than the quality of the drivers and games that run the drivers. This much started being obvious back when they blatantly hacked their drivers in order to improve benchmark scores on QuakeIII. Pitiful.
__________________
Derek Smart, Ph.D.
Designer/Lead Developer
The Battlecruiser Series
Derek Smart [3000AD] is offline   Reply With Quote
Old 15-Sep-2002, 18:36   #19
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

Quote:
Originally Posted by Ante P
The POINT of the topic was the relationship between a (pure) 32-bit Z-buffer/W-buffer and FSAA did you all manage to miss that?
You mean as it deals with z-buffer compression? Of course more modes (particularly floating point modes) would require more transistors for compressing/decompressing the z-buffer, so it can be an issue, but doesn't need to be.
Chalnoth is offline   Reply With Quote
Old 15-Sep-2002, 18:37   #20
Dave Baumann
Gamerscore Wh...
 
Join Date: Jan 2002
Posts: 12,949
Default

Quote:
Originally Posted by Reverend
Did you ask ATI why this is so (i.e. could be supported on a R300 but even if such is the case, why only in FireGL?)? What, useless feature for game developers? I don't think so.
No, I didn't actually. If it is FGL only then it will likey be due to reasons of speed. However, they may not have any room do expose this level of Z buffer under DX until DX9 anyway.
__________________
Expand. Accelerate. Dominate.
Tweet Tweet!
Dave Baumann is offline   Reply With Quote
Old 15-Sep-2002, 18:50   #21
Derek Smart [3000AD]
Member
 
Join Date: Sep 2002
Location: Weston, FL
Posts: 271
Default

Quote:
Originally Posted by DaveBaumann
However, they may not have any room do expose this level of Z buffer under DX until DX9 anyway.
EXACTLY!!

Now you see why I was astonished that they removed W buffer support from the 9xxx series and did'nt take the Z buffer precision precison any further than it already is.
__________________
Derek Smart, Ph.D.
Designer/Lead Developer
The Battlecruiser Series
Derek Smart [3000AD] is offline   Reply With Quote
Old 15-Sep-2002, 21:11   #22
Humus
Crazy coder
 
Join Date: Feb 2002
Location: Stockholm, Sweden
Posts: 3,216
Send a message via ICQ to Humus Send a message via MSN to Humus
Default

Quote:
Originally Posted by Nagorak
Couldn't you write early-Z algorithyms in the PS program too? Or would that just be counter-productive?
Such an approach would not be able to quickly discard large number of pixels, such as HyperZ is culling whole 8x8 blocks in a single cycle.
__________________
[ Visit my site ]
I speak for myself and only myself.
Humus is offline   Reply With Quote
Old 15-Sep-2002, 23:51   #23
Ante P
Senior Member
 
Join Date: Mar 2002
Posts: 1,448
Default

Quote:
Originally Posted by Chalnoth
Quote:
Originally Posted by Ante P
The POINT of the topic was the relationship between a (pure) 32-bit Z-buffer/W-buffer and FSAA did you all manage to miss that?
You mean as it deals with z-buffer compression? Of course more modes (particularly floating point modes) would require more transistors for compressing/decompressing the z-buffer, so it can be an issue, but doesn't need to be.
Yeah and how about W-buffer compression? (Does the 7x00 and 8x00 support compression of the W-buffer or is it restrected to Z? I'm sorry if these are inane questions, I'm still learning here hehe)
How would that effect FSAA?

Maybe it didn't work properly or performance was too bad.

BTW getting lots of "buffer fighting" in Mafia which uses the W-buffer. (shadows and decals sorta remind me of FableMark on the 8500)
Not that it's relevant
Haven't bothered trying to run it with a Z-buffer yet..
Really impressed by this engine btw apart from shadows and decals flickering it looks great and runs great too
looks like crap with aniso though
Ante P is offline   Reply With Quote
Old 16-Sep-2002, 00:56   #24
Derek Smart [3000AD]
Member
 
Join Date: Sep 2002
Location: Weston, FL
Posts: 271
Default

Yeah, Mafia is a pretty cool game with a kick-ass graphics engine. The crappy 9xxx series are 100% responsible for all the artifacts you see in the game. I've run it on my 9700 Pro and GF4 Ti4600 and the decals are just fine on the nVidia board.

There is definitely some Z fighting going on with the decals. And again, it all boils down to things I have had to deal with : zbias, z precision, *busted* MT.
__________________
Derek Smart, Ph.D.
Designer/Lead Developer
The Battlecruiser Series
Derek Smart [3000AD] is offline   Reply With Quote
Old 16-Sep-2002, 01:00   #25
Dave
Member
 
Join Date: Jan 2002
Posts: 167
Send a message via MSN to Dave
Default

I'd say blame MS, to a large extent on W-buffer removal. They suggested it.
Dave is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
ATI’s chipsets enable entry gaming PCs and notebooks Dave Baumann Press Releases 0 23-Jun-2003 01:27
Radeon 9700 doesn't support Shadow Buffer algorithm? embargiel 3D Technology & Algorithms 2 21-Feb-2003 10:23
Hercules introduces 3D Prophet 9700 Pro Dave Baumann Press Releases 0 29-Aug-2002 08:45
Does Radeon 9700 Support 128Bit FP Frame Buffers? Dave Baumann 3D Architectures & Chips 38 27-Jul-2002 01:08
PreOrder Radeon 9700 sys w/P4 2.53/win XP pro 3D Architectures & Chips 0 20-Jul-2002 20:38


All times are GMT +1. The time now is 00:06.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.