I recently installed Catalyst 7.12 on a RadeonX850XT and really was surprised to note GL_VERSION “2.1.7169” Yeah!
It offers now:
GL_AMD_performance_monitor (whatever this is, has some new entry points, too)
GL_SHADING_LANGUAGE_VERSION returns now 1.2
Additionally I found entry points to
and glBlitFramebufferEXT, which looks like both extensions are on the way and might be officially exposed in near future.
Now the funny part… for some reason (after some reboots, can’t reproduce what I did), the 2.1 opengl driver got somehow replaced by some older 2.0.6xxx Version (missing all the new and exciting stuff).
So I did some research and found, that there are now two ATI OpenGL DLLs in windows/system32:
atioglxx.dll (~5 megs)
atiogl2x.dll (~9.5 megs)
After changing all registry references to atioglxx.dll into atiogl2x.dll, the 2.1 driver was back online
I encourage everyone to take a look at these DLLs… They contain funny things like
“__vglSwitchTextureSurfaceUsageFastPathDoom3: Implement me!”
or “Wide or float format buffer(s) currently bound and alpha test, blend, etc. in use on ASIC that doesn’t handle wide/float formats correctly” (among other reasons that lead to a software path). The codename (?) “ORCA” especially caught my eye: “MOV result.orca_stencil, texel.w” (Shader can output stencil values?) Speculation is up to you now
I am happy that ATI finally seems to catch up on the all-important framebuffer extensions. This means I can finally get rid off all the legacy Pbuffer and clean up the multi-context mess a bit.
Are you sure it’s atiogl2x.dll or atioglx2.dll?
I once tried to use the half-documented uberbuffer extension and nothing would happen. I’ve also noticed that they have a bunch entry points that are perhaps in some extension specs I have never read like
glDrawWireTrianglesFGL (something to do with Fire GL?)
I’m sad to say I was able to make my system hang. I count how many frames I render. Sometimes it renders 3, it hangs, sometimes 10, sometimes 8, 6, 11.
I suspect a certain shader.
Debugging showed that it always hangs on SwapBuffers.
No, I’m not using undocumented features.
I wonder, why these textual reasons for a software-fallback never made it to the public. I mean, why didn’t ATI release an official list of reasons the leads the driver into software… Instead, people blindly fall into these traps and don’t know what happened. If they were lucky, this forum could be a help.
I would be cool, if there would exist a mechanism to ask OpenGL “Am I in software emulation mode? If yes, why?”. Or abolish software emulation at all
I find it just useless to have a correctly rendered image, but only get 0.1fps… What’s the use of SW emulated features anyway?
Last, but not least: WHY THE HELL DO I HAVE TO FIND OUT ABOUT THE ALL NEW OPENGL DRIVER BY MYSELF? Orca wasn’t mentioned anywhere (except some speculations in this forum). Not even in the release notes. Isn’t ATI proud enough of its new baby to say “This driver contains the new OpenGL 2.1 implementation which is faster and more stable than the od one”?
Something like a “debug runtime” equivalent for OpenGL would be nice.
When OpenGL was first released it made sense. Hardware was hardly available, except on a few expensive professional workstations. Also, software rendering and hardware was much more comparable back then. Software was only “noticably slower”, rather than tens of thousands slower as is the case now. Software fallback doesn’t make much sense anymore these days and I’d prefer if drivers could be relieved of this burden.