ATI OpenGL support roadmap

Is there anyone from ATI who can comment on what new OpenGL extensions will be supported by Radeon cards in the near future, … with an idea of the planned roadmap? Many of the newer OpenGL extensions are still missing, and I am sure I’m not the only OpenGL developer wondering if it is still worth supporting Radeon cards. Some insight on ATI plans regarding OpenGL would be appreciated.

Thanks.

Ozo.

I suspect that ATi will support those extension sometime after they actually make hardware that can do those things. Until then, the conversation is academic (except for FB_blit and _multisample. Get on that stuff, guys).

I am sure I’m not the only OpenGL developer wondering if it is still worth supporting Radeon cards.
And why would you stop supporting Radeons? I’m not sure what it is that would spark such a decision.

There are other useful extensions not being supported by ATI, such as these ones (just to name a few):

ARB_pixel_buffer_object
EXT_timer_query
NV_fence

And that’s without even talking about extensions (or standard OpenGL functions) that are indeed supported but that do not perfom as expected (ex: EXT_multi_draw_arrays).

And what about performance tools for debugging and profiling OpenGL? It would be interresting to see someting from ATI on this regard as well.

Ozo.

Originally posted by Ozo:
[b] There are other useful extensions not being supported by ATI, such as these ones (just to name a few):

ARB_pixel_buffer_object
EXT_timer_query
NV_fence

And that’s without even talking about extensions (or standard OpenGL functions) that are indeed supported but that do not perfom as expected (ex: EXT_multi_draw_arrays).

And what about performance tools for debugging and profiling OpenGL? It would be interresting to see someting from ATI on this regard as well.

Ozo. [/b]
Maybe their GPU doesn’t support timer queries and PBO and fences.

EXT_multi_draw_arrays is just a conveniance function for users. I think it’s rarely used. Most people use glDrawElements/glDrawRangeElements

ATI supports ARB_pixel_buffer_object and APPLE_fence on Mac OS X.

ARB_pixel_buffer_object
EXT_timer_query
NV_fence
NV_fence, if you haven’t noticed, is an nVidia extension.

EXT_timer_query is based on the availability of hardware. Maybe they didn’t bother wasting the hardware resources to put a performance query into hardware.

And ARB_PBO is to an extent, though I imagine that the DMA support that ARB_PBO requires exists.

And that’s without even talking about extensions (or standard OpenGL functions) that are indeed supported but that do not perfom as expected (ex: EXT_multi_draw_arrays).
What is it about EXT_MDA that you find incorrect on ATi drivers? And have you filed an appropriate bug report on it?

EXT_multi_draw_arrays is supported, but last time I checked, it was not providing the expected performance gain. We see that also with other OpenGL functions.

ATI did not add significant OpenGL extensions for a long time now. For example, we know that their GPU can support extensions like FB_blit and _multisample (as well as PBO) since the release of X1800, i.e. more than a year ago, … and still, there’s no OpenGL support for any of that. It does not sound good for the OpenGL support of the R600.

Ozo.

P.S.: Being an nVidia extension does not prevent ATI from supporting it (ex: GL_NV_occlusion_query).

EXT_multi_draw_arrays is supported, but last time I checked, it was not providing the expected performance gain.
Oh you’re right; ATi is bad because they’re hardware may not require multi_draw_arrays in order to be performant.

[ /sarcasm ]

I would say that, unless you can show some benchmarks of nVidia hardware being faster with multi_draw_arrays than ATi without it, it’s a totally moot point. Plus, it suggests that nVidia hardware is deficient precisely because it requires this specialized calling mechanism.

For example, we know that their GPU can support extensions like FB_blit and _multisample (as well as PBO) since the release of X1800, i.e. more than a year ago, … and still, there’s no OpenGL support for any of that.
Hey, until literally days ago, nVidia didn’t support them either. Plus, those extensions did not even exist a year (or 6 months) ago.

P.S.: Being an nVidia extension does not prevent ATI from supporting it (ex: GL_NV_occlusion_query).
Yeah, but it’s generally a pretty big suggestion. Especially one that’s as hardware-dependent as NV_fence.

Before nVidias Occlusion Query extension, there has been HP_occlusion_query AFAIK. So, it’s possible, that ATI could get the license for it cheaply. But supporting an NV-only extension might be impossible, if nVidia doesn’t want them. Ie. nVidia hardware has some nice features to improve stencil-shadow performance. I’m pretty sure ATI would have implemented that a long time ago, if nVidia had allowed them to do so.

Additionally, nVidia has always been the company that brought out a big and cool feature-set with new hardware (NV30: real pixel-shaders, NV40: Vertex Texturing and some other stuff).
But the speed of many features was absolutely impractical.
Do you remember, what was the first gfx-card, that gave you the features AND great speed to actually use pixel-shaders? It was the Radeon 9700. And it took nVidia a long time to be able to compete with that card.

In this business it’s a mistake to limit yourself and your customers to just one hardware. You can develop on NV hardware, if you like that better, and if you need the tools nVidia provides. But don’t be stupid and drop support for ATI hardware, you will regret it earlier than you might expect. ATI does make good hardware and your users won’t understand, why their ATI hardware might be unsupported.

Jan.

Keep in mind this is unconfirmed but I recall a while back someone asking ATI about the status of various extensions and got a reply along the lines of ‘we are focusing on vista right now’.

Hey, until literally days ago, nVidia didn’t support them either.
In there case, their hardware would not support it. That was a pretty good reason.

Plus, those extensions did not even exist a year (or 6 months) ago.
So that gave ATI 6 months of development to be ready on time when the extension was released. And still, no support available.

I’m not saying ATI is all bad. I’m just saying they don’t seem to be working hard on their XP OpenGL driver these days. Probably too much work with Vista support.

As a developer, I would still be interested to get some insight from ATI as to what new OpenGL support we can expect in the future, with some roadmap. Also, (as a side note) I would like to see OpenGL driver release notes in the form of OpenGL bug fixes and new features as well, i.e. not a sole list of problems with games that were fixed or not. That would be more useful for developers. Don’t you agree?

I DO agree with you, definitely. I just wanted to point out, that dropping ATI support completely would not be wise, and that ATI may have reasons at least for some shortcomings (licensing issues).

More enthusiastic OpenGL support from ATI would really be nice. One easy improvement for them would simply be to clean up their developer homepage. It’s easier to find a cool demo on Humus personal page, than on ATIs.

Jan.

In there case, their hardware would not support it. That was a pretty good reason.
If you had read the chart, you would see that my 6600, which has existed for well over a year, now suddenly supports these extensions too.

I’m just saying they don’t seem to be working hard on their XP OpenGL driver these days. Probably too much work with Vista support.
What you just said makes no sense. Vista OpenGL has no impact on XP OpenGL; they’re the same thing.

If ATi is busy with anything, it would probably be GL 3.0. In the past, ATi has shown a reluctance to support intermediate extensions, and these extensions will all be superceeded by the new API.

Also, (as a side note) I would like to see OpenGL driver release notes in the form of OpenGL bug fixes and new features as well, i.e. not a sole list of problems with games that were fixed or not.
nVidia doesn’t do that. They release that kind of stuff as separate documentation from their driver release notes. Release notes are for users, not developers, and therefore they should address user concerns.

If you had read the chart, you would see that my 6600, which has existed for well over a year, now suddenly supports these extensions too.
You’re probably right. I was more thinking of FB_blit and _multisample in the context of HDR rendering, which unless I am mistaken, nVidia did not support until very recently.

What you just said makes no sense. Vista OpenGL has no impact on XP OpenGL; they’re the same thing.
[Sarcasm]
I am sure you are right and that they probably don’t even have to rebuild. Specially knowing that 64-bit processes cannot load 32-bit DLLs. That’s probably why OpenGL is still not supported in Catalyst for Windows Vista.
[/Sarcasm]

nVidia doesn’t do that. They release that kind of stuff as separate documentation from their driver release notes. Release notes are for users, not developers, and therefore they should address user concerns.
Whether they call it “release notes” or not, I would be happy to see ATI releasing that information to developers. That would be a good improvement.

Ozo.

Did anybody try the FBO_blit and FBO_Multisample extension on a 8800. I really want to know if HDR rendering + AA is fully supported on NVidia.

I’ve been complaining often on this forum about the lack of support from ATI and on this thread:

http://www.opengl.org/discussion_boards/ubb/ultimatebb.php?ubb=get_topic;f=3;t=014717;p=1#000005

a guy received an answer from ATI devrel saying they don’t have any intension to support 16 bits rendering + AA with the current driver since they perfer to focus on Vista.

Originally posted by Ozo:
EXT_multi_draw_arrays is supported, but last time I checked, it was not providing the expected performance gain.
What kind of performance gain were you expecting exactly? Are you draw call limited?

There are other useful extensions not being supported by ATI, such as these ones (just to name a few):

ARB_pixel_buffer_object
EXT_timer_query
NV_fence

ARB_pixel_buffer_object is a big one that we could use also.

There’s also being able to supply float16 textures directly to GL. Right now we have to convert all our float textures to 32-bit on the fly when we want to upload into a float16 texture. This really crimps performance when we’re trying to do 1080p float16 playback.

It would be nice to see what extensions ATI is working on, but I’d prefer that they’d just support them.

Let’s not forget about EXT_packed_depth_stencil. I can’t even remotely fathom why ATI hasn’t implemented this yet. It’s still impossible to use a stencil buffer with FBOs on all ATI hardware.

Originally posted by gybe:
Did anybody try the FBO_blit and FBO_Multisample extension on a 8800. I really want to know if HDR rendering + AA is fully supported on NVidia.

Yes, I have used FBO_multisample and blit on the 8800 and it works great with the HDR formats, including 32-bit floating point with filtering and AA.

The new packed float format is also very useful for HDR since it gives you most of the quality of fp16, but for the same bandwidth as 32-bit RGBA:
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt

There will be an example of this in our new SDK, along with all the other new features.

I always find it sad when ATI is releasing nice developer tools (or at least what seem to be nice tools!) for DirectX only, like these two tools:

[ul][li]GPU PerfStudio[*]GPU Shader Analyzer[/ul][/li] Releasing these tools only for DirectX sounds like a clear statement to me.

Question : Is ATI still serious about OpenGL driver support?

That was essentially the initial subject of this thread…

Ozo