3D Nature and Partners Declare ATI drivers Unsuitable for Professional Visualization

XenonofArcticus said:
Hi there, Chris from 3D Nature here. The guy that wrote the press release.
Audience: Hi Chris! :)

Thanks for posting. I hope you haven't got a negative impression of our board, B3D really is a great place, full of smart, experienced and professional people.

I hope you'll succeed in grabbing ATi's attention and get your problems addressed in a timely manner. Best of luck to you all, and if you decide to stick around a while...well...even better! :)

Cheers!
 
Vysez said:
So, as long as the product behaves as publicized one cannot really complain about software unabled features that were advertised for another product.
The main point of outing bugs like these in such a press release is indeed that the ATI consumer products (radeon+catalyst) do not actually behave as publicized :!: - the driver claims to be offering features that are not actually present in a correct form.
 
Chris, every developer has to face driver problems since we all use drivers. This is the price we have to pay for the more hardware independent way to program different hardware. The price for the open platform called personal computer.

Even if this bug’s will fix in future release the bugged driver was in the wild and will stay there. The real bad think is that people who don’t update their driver will blame you and not driver if something does not work. The solution for this problem is nearly as old as the problem itself. Add a configuration and compatibility system to your application. During the start detected the hardware and driver and look up in a file if there are known bugs. In this case you can disable the usages of extensions or enable workarounds. If you don’t find the current hardware in your list you can give the customer a hint that the compatibility is unknown and he or she should download an updated compatibility file from you. You can add this to your software to make it easier for your customers. Hell I know that this additional work and everybody of us would to spend this time rather in the improvement of the main algorithms in our software. But that’s the way it is.

I fully understand that you want this bugs fixed but the way you try to get this work done shows that you don’t have much experience with the commercial side of the GPU business. This is not a reproach because as a software developer you normally should not care about these dirty games.

If you want that an IHV do something for you than you need to offer something, too. In the case you have nothing to offer that an IHV want you have to generate some need first. Your main problem is that you build some niches software (no offend) that haven’t much relevance when it come to distribute driver developers to solve your problems. This means that you have to make yourself more important for an IHV. You have to make yourself that much important that an IHV calls you in advanced and want to solve your driver issues instead the other way. That’s not easy with a niches product but not impossible. As your software for sure have the potential to generate some nice images on the screen it should not that hard to build a nice looking benchmark around. Do it and give it away for free. This will give you a nice marketing buzz on one hand and you have something interesting that gamers and even more important reviewers can use. If you can get enough reviews to use your new benchmark and shows the trouble that a driver make you have generate some need to fix this issues in a future release because no IHV would look bad in a review that their main customers read. I understand that you have try to generate this need with your press release but as you currently only offer an niches product most press people in the GPU business will simply ignore it. The second problem with such press release is that you will look like a crying child if you blame others even if it is entitle. Yes it is a dirty game but as long as you can’t make the rules you have to play it or leave the playground.

As this is not the help forum and I am not sure if you are even looking for a workaround for your problems I will make it short. Have you try to change the thread priority to idle or below normal before you call Swapbuffers and revert it back after it returns?
 
Sxotty said:
So the measure of how professional one is is how much you spend on your graphics card? :)

I too was wondering if other consumer cards have similar problems. It seems ATI/NV might both choose to limit their consumer cards to make "professionals
buy the expensive cards. As you should well know many cards in the past were identical but the professional ones had a huge price tag one them.

If I were a professional and could use a gaming card and acheive the same results for 50% of the price I think that I would.

The driver will obviously not intentionally run out of spec or introduce bugs in order to differenciate between pro and consumer cards. However, a FireGL card will naturally get its driver tuned for pro apps while consumer card drivers gets tuned for games, performance and feature-wise.
 
Hey, welcome aboard Chris!
Personally, I can't even understand why people are saying you and/or your customers are going "on the cheap" by not going for FireGL (or Quadro). All these solutions offer you are certification for known applications, faster wireframe rendering, and slightly more personalized technical support. In the case of NV, perhaps also other misc. things such as better subpixel precision.

Clearly, the IHV's workstations solutions are NOT aimed at you guys, nor at your customers. I also would tend to consider these two issues to be major ones for any OpenGL title developped by someone unaware of the issues, the first being an IQ problem, and the second... Well, let's just say I question how much of an impact it might have on, say, Quake4's performance with VSync on.


Uttar
 
XenonofArcticus said:
As far a not using GL_SGIS_generate_mipmap -- GLU provides a (slower) software implementation for mipmap generation and always has -- and in fact most software automatically falls back to software mipmapping if the extension isn't available. The problem is the ATI drivers claim it IS available, so we try to use it, and find it's broken. If they'd just admit that it was broken and make the driver not offer the extension, everything would be great. If you're gonna claim to be able to do the job, then you better live up to the task, or go home.

The link to the repro case for this bug appears to be broken.

From the description alone, unless I'm missing some subtle issue here, this seems to be trivial to work around on the application side. That's of course not an excuse for not fixing the bug, but it of course affects the priority for this issue and places it below bugs for which there are no workarounds or affect say a popular game.
 
Uttar said:
I also would tend to consider these two issues to be major ones for any OpenGL title developped by someone unaware of the issues

Automatic mipmap generation on compressed textures is far from typical. It's not obvious (since the sample link is broken) whether we're talking about compressing and getting mipmaps generated using uncompressed data (using glTexImage2D), or if we're talking about generating mipmaps on precompressed data (using glCompressTexImage2D). Both these cases, and especially the second, are questionable whether they should have been in the spec to begin with and none are available in OpenGL ES.
 
Hiya, Chris --welcome to B3D.

Where I get hung up, is if it's "professional visualization" then it's professional visualization. End of story. Are you suggesting, as you seem to be, that Google Earth is broken on ATI cards? Or just that "professional visualization" is transitioning into a mass market?

The other thing that seems curious to me for why this is an issue now is "all past and current ATI Catalyst drivers". This implies its never worked, rather than say it used to work and now they broke it, screwing you in the process. And if such is the case, it is entirely ATI's fault that the app doesn't work and your customers have somehow been mislead? If you had to have those functions, why weren't they tested on ATI hardware in the first place, and then the app provided, and advertised, as excluding ATI hardware, and the reason why? Since when did developers lose the responsibility to test their technology and applications on the real hardware they are targeting during the development cycle and communicate the hardware requirements to potential customers?

Excluding their hardware might also have caused ATI some pain, and they would, or would not, have responded to remove the embarrassment.
 
The message I'm getting is that ISVs are building non-game 3D applications aimed at consumers and those consumers with ATI cards are struggling to make these apps work.

"Professional" appears to mean nothing more than "commercial" rather than freeware. I think the word "professional" is misleading in this context.

Jawed
 
Professional, and work-arounds.

Let me address a couple of items.

As far as work-arounds -- my application already has work-arounds. But, usually the work-around impairs performance. For example, my work around is simply to stop using compressed textures on Radeon series cards. Makes the end result look right, but greatly increases (I believe by a factor of 4) the amount of texture memory required by my application. So, (for texture usage anyway) a 256Mb Radeon performs like a 64Mb NVidia card. If _that_ doesn't inspire ATI to realize they're hurting themselves, I don't know what will. As far as the VSYNC spinlock, we have a predictive VSYNC loop that tries to estimate how long it will be until the VSYNC event, and avoids doing the wglSwapBuffers() call until we estimate there's only about 15% of the frame timeslot remaining. That way, instead of wasting _all_ of the unallocated frametime in busy looping, we keep our other work threads doing useful tasks longer, and only waste 15% of the time. Why 15%? because with CPU loads and program uncertainty you don't want to overshoot your estimate (causing a lurch in the redraw), so instead you are forced to undershoot to be safe. So, our application can do 15% less work on an ATI system, resulting in 15% worse performance than on a comparable system with a properly working VSYNC -- like an NVidia or 3DLabs card.

As far as professional goes, I think you set the bar too high. A system doesn't have to be a 6-headed flight simulator installation to run professional software. A huge number of our users (mine and our listed partners) use (and are only allowed to use) completely stock-standard business PCs. If they're US Government (as many are), they often are _required_ by purchasing to buy from a pre-established vendor, often someone like Dell. So, they're out there in the Real World, trying to do Real Work, using something that's probably less powerful than your average enthusiast gaming machine.

And that's how it works. We deploy top-of-the-line systems whenever it's called for, and the customer has the choice. But we also have to make do with what the customer brings to the table.

digitalwanderer>but what you're basically saying is that your non-ATi drivers for an enthusiast level card aren't capable of doing what their professional line-up can do and you're miffed about it....right?

Actually, what I'm saying is that my ATI card, regardless of what it was sold as, doesn't live up to its specs. If you claim to implement an extension, then it better work. If not, don't offer it as implemented. It so happens that software with large datasets (like ours) are more likely to utilize SGIS-mipmap and compression, but no where in the GL specs does it say "pro-only, don't let consumers have power like this!". It's just a common extension, and everyone and their brother has offered it for forever.

http://oss.sgi.com/projects/ogl-sample/registry/SGIS/generate_mipmap.txt

Likewise, nowhere does the wglSwapBuffers() documentation say "only professional cards should do this efficiently, make sure consumer-level cards just waste the CPU time".
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/ntopnglr_1ss3.asp
But it's sort of implied that a modern graphics system doesn't spin the CPU idly when doing _anything_. Heck, we had sleep-till-interrupt double-buffer-swap-sync capability on the Amiga platform in, what, 1986?

There's nothing pro-only about these features. The only reason we qualified our announcement with "pro" is because we wanted to avoid the obvious (and inapplicable) arguments like "well, Quake runs fine on it, so it must be your fault". Yes, I do feel that Google Earth is the exact epitome of the pro-level application (formerly known as Keyhole) becoming the ultimate consumer application. I know it has workarounds of the same type as my own software. I know those poor guys over at Google Earth must tear their hair out daily trying to ensure that that program works on all these crazy computers and graphics systems around this planet. GE works in both DirectX and OpenGL, which simply doubles the number of bugs they have to cope with. I don't envy them, but they have a few billion dollars so they can throw more engineers at the problem. Wouldn't it be great if we could just get the vendors to take responsibility for their bugs? It's a dream world, I know, but thow much more time would ISVs have to make great software even better if we _each_ didn't have to fight with working around the same bugs over and over?

Finally, yes, as I said, there are various work-arounds available, with differing degrees of success. The easiest work-around is not to buy the ATI hardware in the first place. ;) But, in the end, which do you think is a better end-result:
One company, ATI, never fixes the bugs and hundreds if not thousands of OpenGL programmers are forced to find and implement semi-effective workarounds to deal with them. Or,
One company, ATI, fixes their bug, and thousands of programs on millions of computers magically start working better.

As far as we can tell, yes these features have always been broken. Why is it an issue now? Because as we continue to push the envelope, we need features like this to work. Back in 1999 or even 2003, maybe spinlooping during vsync could be overlooked. But today, with multiple CPUs and cores, and lots of threads running trying to get the most out of every system, it's inexcusable. During my time working with OpenGL I've had to pressure every single OGL IHV into fixing bugs, S3, NVidia, 3DLabs, Matrox, Dynamic Pictures (later bought by 3DL), don't even get me started on that Intel Extreme thing. IHVs only fix bugs when there's motivation to -- bug fixes don't sell new cards, whiffy new features do. Developers _have_ to do this to keep them honest. As someone else noted, they fix game bugs a lot faster, because they're a mass-market lots-of-ticked-off-users problem. Those of us will higher-end niche products must find our own ways of raising awareness.

ATI doesn't owe me anything, and far from what was implied by Demirug, we shouldn't have to somehow bribe ATI into fixing their bugs. We have gone out of our way to make ATI aware of the problem, provided screenshots, source, executables and data to replicate the problem. It's not a problem of us misusing their driver and we need their help to set ourselves straight. It's their problem and we've done everything in our power to help them be able to fix it. I've been the point of contact for 6 months of back & forth with them about getting this fixed. Our business is to write our software, not make and give away demos in order to somehow persuade IHVs into fixing bugs. As we've said before, and the whole point of this release, if they're not gonna fix them, we're simply going to stop using their hardware, and tell people why we're doing so.

We mentioned the Radeon series in the PR because that's what people are familiar with -- we didn't want this written off as "oh, it's only some exotic card that's broken". I suppose for completeness we should have said that FireGL is busted too. But, I know the mipmap feature is broken, and I believe (though it's not listed on the OSG page) I think vsync is too. I don't have a FireGL to try it myself, but I've heard plenty of griping from people who did buy them.

Vysez>Why should Ati provide support for something that they never advertised in the first place?
I guess ATI never specifically listed SGIS_generate_mipmap as a feature in their magazine ads -- once you put in all the explosions and Dawn & Dusk's curvy... faces, there's not enough room. But one could argue that when they list SGIS_generate_mipmap in the glextensions call, they're advertising that it's there and can be expected to work. As I said before, if you can't make it work, don't have your driver offer up a busted implementation that software will be convinced to try and use.

Humus, thanks for pointing out that the sample model for the mipmap cause is a broken link. It doesn't actually matter what model you use -- converting any textured object using compression will cause the problem -- this was just the model used for the screenshot. I'll revise the web page to note this.

And as far as us doing this for our own benefit -- what benefit, exactly, do you think I'm getting here? I have spent uncounted days of my time tracking down the issue, replicating it, documenting it and communicating it. When all that failed, we wrote and reviewed a factual but firm announcement and got it out here. And, for our efforts, we enjoy getting scragged on on forums across the Internet. All, for the sole result of... helping get ATI's drivers working better for everyone? Man, I love my job. If you think my company, or any of our companies, is reaping great rewards somehow from this, I have some dot-coms you might want to invest in. I guess the only folks who are benefitting from this are probably NVidia. If I were an NVidia plant, I guess I'd have done my job well, but I'm not that devious of a person.

To close, I will pass along a quote of a quote of a quote of an e-mail that someone sent me last night:

From: Essa Qaqish
To: Glenn Patterson; Toshiyuki Okumura; Larry McIntosh
Sent: Fri May 05 16:28:45 2006
Subject: RE: 3D Nature and Partners Declare ATI drivers Unsuitable for Professional Visualization

All,
Unfortunately, this is true and we are currently aware of it. There is an EPR and a committed fix scheduled for 8.261 (June posting).

While we can't tell from this when the fix was made, and thus if it was motivated by our wheel squeaking or not, it does confirm that it is a real issue and just maybe, after 7 months, we might see a fix for it. And we can all be happy. And all of this can fade into history. And that's all we've asked for.
 
Fair enough, I guess I do see your point. They should live up to the standards if they advertise the cards adhere to them.
yep.gif


Just one little nit-picky thing:

-- once you put in all the explosions and Dawn & Dusk's curvy... faces
Dawn & Dusk are nVidias "mascotettes". ;)
 
digitalwanderer said:
Fair enough, I guess I do see your point. They should live up to the standards if they advertise the cards adhere to them.
yep.gif


Just one little nit-picky thing:


Dawn & Dusk are nVidias "mascotettes". ;)

Ah, yes. I was... distracted... by having recently seen the ATI wrapper for Dawn. I wouldn't know! I've never run Dawn or Dusk on my system! Really! I only do _professional_ OpenGL work, not... oh, forget it. :D
 
One thing that Chris brought up and I am quite frustrated with is that you cannot install ATI drivers on a laptop.

I relize it is the fault of the HP/Dell etc's of the world most likely but I at least learned I can install omega drivers and that is a big plus for me since I have been stuck with drivers from last summer on my laptop with nary an update.

(As a side note does this mean if you buy a laptop with an nvidia card you still cannot install drivers? That seems like it would screw over the Dellienware's of the world.)
 
XenonofArcticus said:
While we can't tell from this when the fix was made, and thus if it was motivated by our wheel squeaking or not, it does confirm that it is a real issue and just maybe, after 7 months, we might see a fix for it.
Heh, imagine being exasperated by devrel recalcitrance over one's bugbear for 6 months... W-Buffer, etc, anyone...? Does this mean you'll also trumpet suitability of ATI for "Pro Viz" apps if/when sorted to your satisfaction?

And we can all be happy. And all of this can fade into history. And that's all we've asked for.
If you believe this, I bet you've already sunk funds into the above mentioned .coms... At least users may see some benefit from fuller/better compliant OGL ICD, which is never a bad thing. Let's hope it's rolled up into Linux ports, too. (But that's a whole other can of worms ;))

Addendum.
I agree with Sxotty re: mob drivers and have just modded Ati/Nvidia desktop drivers for laptop use. The mob modder (above) does the edits for you. While I understand the old issues of differing OEM implementation, newer standards of integration (AXIOM/MXM) obviate these problems. I think Ati (& Nvidia?) now offers specific mobility releases.
 
Last edited by a moderator:
mhouston said:
I use mobility modder to get the standard Cats to install...

http://www.driverheaven.net/patje/
I tried that and it did not work on my machine. Maybe I should try it again, but it never functioned and was very frustrating. Perhaps the timing was wrong, but the mobility modder wasn't changing the thing correctly or something... (wrong as in maybe ATI changed the way the driver was packaged or something right then so the mobility modder would not function.)
 
OK... I am confused. Is this an issue of trying to use consumer grade hardware (X1800) when workstation grade (FireGL) hardware should be used?

I am also way off when I see CAT5.11 Omega drivers from the person launching the complaint.
 
RickCain said:
OK... I am confused. Is this an issue of trying to use consumer grade hardware (X1800) when workstation grade (FireGL) hardware should be used?

I am also way off when I see CAT5.11 Omega drivers from the person launching the complaint.

No, both those points are dscussed above.

Looks like Ati did not care and now it is more public they do now care ( at least a bit more ).
 
Back
Top