What graphics cards qualify as DX9-class hardware?

Member
Posts: 23
Joined: 2002.08
Post: #1
Not that all the features of DX9-class (damn I hate that terminology!) graphics cards are even accessible on the Mac, but which cards currently qualify as DX9-class hardware?

Specifically, I've been looking at deferred shading and I know it requires DX9-class hardware to have access to 128-bit float buffers. I would have assumed that such a feature would require APPLE_float_pixels (on the Mac), but that seems to be only supported on the ATI Radeon 9600/9700/9800 (per arekkusu's GLinfo page, although I know it could have inaccuracies.) I'd also assume that the nVidia GeForce 6800 series of cards would support such a feature as I can't imagine why it wouldn't be DX9-class, but it's not listed as supporting APPLE_float_pixels.

I remember reading somewhere that the ATI Radeon 9700 was the first DX9-class release from ATI on the PC side. If so, is the nVidia GeForce 6800 the first from nVidia? This doesn't seem right to me as Tom Nuydens wrote his Deferred Shading article in October of 2002. Huh

Please help me correct my assumptions. Should we be betting on whether arekkusu or OSC has the answer first?
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #2
APPLE_float_pixels is probably stronger than DX9's requirements. There is a much weaker NVidia extension that's not supported on the Mac.

The GeForce 6 cards are still using the GeForce FX drivers on the Mac, so none of their additional features are supported. They do have the capability to support APPLE_float_pixels.

DX9 hardware is NVidia GeForce FX 5200+, and ATI Radeon 9500+.
Quote this message in a reply
Sage
Posts: 1,232
Joined: 2002.10
Post: #3
(I was buying groceries... so OSC beat me...)

My GLinfo table is current as of 10.3.6. But if you look at the GF6800 driver in 10.3.7, it does export APPLE_float_pixels. So there!
Quote this message in a reply
Member
Posts: 23
Joined: 2002.08
Post: #4
Thanks to the both of you. Smile
Quote this message in a reply
Member
Posts: 23
Joined: 2002.08
Post: #5
I've been looking at PowerBooks as a new development machine (my 400MHz PowerMac G4 w/ATI Rage 128 Pro just doesn't cut it anymore, even dropping an ATI Radeon or Radeon 8500 in it doesn't gain me much), so I ran arekkusu's port of OpenGL Extensions Viewer on a couple different PowerBooks today.
  • The nVidia GeForce FX Go5200 (12" PowerBooks) doesn't support APPLE_float_pixels (unless it wasn't running Mac OS X 10.3.7, which I think it was as try to keep all our demo models up to date).
  • The ATI Mobility Radeon 9600 & 9700 (15" PowerBooks) do support APPLE_float_pixels.
I was surprised that all the systems I tested (including a few iBooks) had incomplete support for OpenGL 1.2 (I never saw one card that was more than 77% compatible). The PowerBooks had full support for OpenGL 1.3, 1.4, and 1.5, but limited support for OpenGL 2.0 (I didn't expect much since Mac OS X doesn't support GLSL, yet).

I'll double check the 12" PowerBook to make sure it is, in fact, up to date and running Mac OS X 10.3, but it appears I'll be trying to pick up a used 15" PowerBook (Aluminum) for my mobile development machine (my PowerMac will become a dedicated web & file server again).
Quote this message in a reply
Sage
Posts: 1,232
Joined: 2002.10
Post: #6
OK, this needs to be explained. The current (2.15) port of "OpenGL Extensions Viewer" should still be considered beta. It is reasonably feature complete, but there are some issues in the code shared between Mac & Win that need to be resolved. One of those is the way that "core features" are identified:

When identifying "Open GL 1.2 core features" it just looks for the extensions that are listed being used as the base for the features added to 1.2 in the GL spec. That's it. So it doesn't find i.e. GL_EXT_TEXTURE3D because no Mac renderers export that extension string. That doesn't mean that the feature isn't supported!! If the GL implementation claims 1.2, all 1.2 features must be implemented. See discussion.

In the PC world, this is complicated because some vendors export the strings to indicate that the feature is implemented in hardware, some don't, and some just have screwed up drivers. So Stephane (the original author of glview) is going by the extension strings.

But on the Mac things are a little more sane. If GL_VERSION is >= 1.2, then 1.2 is implemented, period. I've discussed this with Stephane and he is going to add some more aliasing logic to handle this, but it isn't in there yet. The whole idea of identifying core features via extension strings is bogus, anyway-- core features are promoted or based on extensions, they are not necessarily identical. In fact there are many cases where the core feature is slightly different than the extension. So you can only use the exported extensions as a rough guide to the level of core feature implementation.

So, don't rely utterly on glview, it is currently misleading in some places. OK?

As for the 5200, I am not sure if it exports APPLE_float_pixels in 10.3.7. On the PC, it exports GL_NV_float_buffer and GL_NV_half_float, but the 6800 also has GL_ATI_texture_float. So that may be the reason-- APPLE_float_pixels requires both 16 and 32 bit per channel formats for both textures and framebuffers. But that doesn't mean that you can't use floating point formats on the 5200-- you definitely can, you just may be limited to 16 per channel in some cases, though.

And, personally, I'd go for the 15" in any case Wink
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #7
The 5200 cannot support APPLE_float_pixels. I assume that this means that you can't get a floating point color buffer on one under Mac OS X, though I certainly haven't tried.
Quote this message in a reply
Member
Posts: 23
Joined: 2002.08
Post: #8
arekkusu:
I understand completely, thanks for pointing that out. I mainly used it since it was an easy and free GUI method for getting things like the extensions list. I was just surprised about the OpenGL 1.2 compatibility listing.
Quote this message in a reply
Sage
Posts: 1,232
Joined: 2002.10
Post: #9
Apple's GL Driver Monitor will also let you view the extension list with a GUI.
My GLinfo will show the same data plus implementation limits, dumped to a text file.
Quote this message in a reply
Member
Posts: 23
Joined: 2002.08
Post: #10
Next time I do testing like that I'll use GLinfo (that's all the info I really needed anyway). I was testing on the demo machines in our store and they didn't have the Developer Tools installed, so OpenGL Driver Monitor was out of the question. Sad
Quote this message in a reply
Sage
Posts: 1,232
Joined: 2002.10
Post: #11
arekkusu Wrote:So, don't rely utterly on glview, it is currently misleading in some places. OK?

2.16 was released today, and there are enough core fixes & database cleanup to consider this the first non-beta version. I.e. the information should now be correct.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  General Questions About Old Or Limited Graphics Cards Oddity007 5 4,006 Mar 3, 2009 01:39 AM
Last Post: arekkusu
  GLSL hardware support ia3n_g 4 4,441 Oct 6, 2006 08:28 PM
Last Post: ia3n_g
  Hardware Interfacing Jones 7 3,413 Sep 16, 2006 09:00 PM
Last Post: Stalin55
  Heads up: glDrawbuffer(GL_FRONT) issue w/OS X 10.4.3 and NVidia cards zKing 4 3,677 Jan 11, 2006 01:00 PM
Last Post: arekkusu
  Non-square, non-POT, hardware-accelerated surfaces... NekoYasha 13 5,843 Oct 25, 2005 03:06 PM
Last Post: NekoYasha