Jump to content


IMG Interviews AMD's Mac 3D Manager


  • Please log in to reply
11 replies to this topic

#1 IMG News

IMG News

    Pimpbot 4000

  • IMG Writers
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 7094 posts
  • Pro Member:Yes

Posted 29 September 2011 - 05:46 AM

Inside Mac Games has posted a new interview with Advanced Micro Devices' Chris Bentley, the company's Mac 3D Manager. In the first of the two part interview Bentley discussed a variety of topics including AMD's relationship with Apple and Mac game developers, the transition to Apple's new Lion OS, and the design of graphics card and drivers.

IMG: Do you work closely with Mac Gaming companies?

CB: We work really closely with Mac game developers, especially Blizzard, Transgaming, Valve, Feral, Aspyr, Telltale, and Unity. I type like #$%@, so I'm on the phone with folks from these companies all the time. I sometimes joke that the phone is my best coding tool. Fundamentally, the only way users get a good out-of-the-box (or out-of-the-download) experience is if we work with game developers to resolve issues before the games ship. We worked for over a year with Blizzard on making sure everything worked in Starcraft 2. This included integrating a completely new shader compiler for the Radeon X1600 and Radeon X1900 cards! When Transgaming was working on Command and Conquer: Red Alert 3 they told us they need us to support hardware accelerated texture fetches from within vertex shaders, so we added this support. When Feral shipped Bioshock our QE team practically functioned as an extension of their testing group, feeding back bug reports on the beta hardware and drivers that we had access to. Laminar Research has dropped us beta versions of X-Plane which we have included in our automated test suite, so we can make sure we don't have any performance regressions on any of our nightly builds. The Unity engine folks have done the same thing.
Read the full Q&A at the page below.
Return to Full Article - InsideMacGames News


#2 Smoke_Tetsu

Smoke_Tetsu

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 2641 posts
  • Steam Name:Tetsuo
  • Steam ID:smoke_tetsu
  • Location:Cyberspace

Posted 29 September 2011 - 06:14 AM

Too bad you didn't ask about driver control panels which is something the Mac has seriously lacked for some time now. Some games can only get certain features if they are done via an override from the driver control panel and mostly only people in Windows and even Linux have access to those control panels. Some of the drive control panels on windows are even starting to get post process antialiasing override available such as MLAA (which AMD backs) or FXAA (nvidia) to them which are what is best for deferred rendering engines that are popular today. Usually we only get what's directly supported in the game or nothing.
--Tetsuo

Alex Delarg, A Clockwork Orange said:

It's funny how the colors of the real world only seem really real when you viddy them on the screen.

the Battle Cat said:

Slower and faster? I'm sorry to hear such good news?

Late '09 27 inch iMac, Core i5 Quad 2.6Ghz, 12GB RAM, ATI Radeon HD4850 512MB, 1TB Hard Drive


#3 mattw

mattw

    Legendary

  • Members
  • PipPipPipPipPip
  • 521 posts

Posted 29 September 2011 - 02:29 PM

View PostSmoke_Tetsu, on 29 September 2011 - 06:14 AM, said:

Too bad you didn't ask about driver control panels which is something the Mac has seriously lacked for some time now. Some games can only get certain features if they are done via an override from the driver control panel and mostly only people in Windows and even Linux have access to those control panels. Some of the drive control panels on windows are even starting to get post process antialiasing override available such as MLAA (which AMD backs) or FXAA (nvidia) to them which are what is best for deferred rendering engines that are popular today. Usually we only get what's directly supported in the game or nothing.

Yeah the old ATI displays was great for getting the best out of old games with FSAA etc. still don't know why they dropped it as it was definitely a competitive advantage :(

I've own loads of ATI cards from the 16MB Rage 128 to the 1GB Radeon 5870 and don't have many issues but it would be interesting to know if there is a formal way bugs could be logged by end users. There are a few AMD bugs that effect stuff running in WINE that works just fine on NVIDIA cards and it's not like you can contact the game publisher when your are running their game on another OS.

#4 Kilvain

Kilvain

    Notorious

  • IMG Writers
  • PipPipPip
  • 152 posts

Posted 29 September 2011 - 02:53 PM

Good question, I'll see if I can find out the answer before the second half of the interview goes live.

#5 devSin

devSin

    Heroic

  • Members
  • PipPipPipPip
  • 341 posts

Posted 29 September 2011 - 03:49 PM

View Postmattw, on 29 September 2011 - 02:29 PM, said:

Yeah the old ATI displays was great for getting the best out of old games with FSAA etc. still don't know why they dropped it as it was definitely a competitive advantage :(
They stopped making retail kit (those were drivers for retail end-users, not Apple). Apple OEM doesn't want the CP, I'm sure, so there's not really anything for them to build.

View Postmattw, on 29 September 2011 - 02:29 PM, said:

I've own loads of ATI cards from the 16MB Rage 128 to the 1GB Radeon 5870 and don't have many issues but it would be interesting to know if there is a formal way bugs could be logged by end users. There are a few AMD bugs that effect stuff running in WINE that works just fine on NVIDIA cards and it's not like you can contact the game publisher when your are running their game on another OS.
Unless you're known, you probably have to go through bugreport.apple.com (the big guns probably know when to contact AMD directly). I'm not sure how low priority you'll be with a WINE gfx issue, but somebody may look at it, eventually.

#6 ltcommander.data

ltcommander.data

    Positronic

  • Members
  • PipPipPipPip
  • 446 posts

Posted 29 September 2011 - 09:24 PM

Great interview.

Quote

For every driver build, each machine runs an automated set of tests that includes 12 games at various quality settings and resolution and thousands of correctness tests.
Any chance we can find out what those 12 games are?

Quote

Now, for Lion Apple added Core Surface, Mission Control, Launchpad, fullscreen app support, and AMD support for accelerated H.264 playback.
Hardware accelerated H.264 decode for AMD GPUs was definitely a pleasant surprise in Lion. Is there any chance we can get the official list of AMD GPUs that now have hardware accelerated H.264 decode enabled in Lion? Everything back to the HD2000 has the hardware for full H.264 decode, even the X1000 series had partial H.264 decode hardware, we've just been waiting for the OS/driver support. Hopefully it isn't limited to just the 2011 models with the HD6000 series.

I don't suppose he'd also be willing to comment on which nVidia (are VP2 based GPUs like the 8600GT, 8800GS/GT, 9600GT, GT120, GT130, GTX285) and Intel GPUs (namely Arrandale) are supported in Lion?

Quote

Finally, as I mentioned above, the biggest change for 3D in Lion was OpenGL 3.2 support, which included 16 new extensions supported on all the drivers from the AMD HD Radeon 2400 on up to the AMD HD Radeon 6970.
Seeing that the HD6970 isn't currently available for Mac, is that a hint that the upcoming Mac Pro will be offered with the HD 6970? Now that Apple now correctly labels the mobile GPUs in the iMac, I'm thinking he doesn't mean the HD6970M. Hopefully the HD5770 gets an upgrade to the HD6790 which has the new Barts core rather than the HD6770 which is just a rebrand of the existing HD5770.

Quote

For example: The Radeon 5750 1 GB vs the Radeon 6770 512 MB?
I'm guessing this specific example is referring to the 2010 high-end iMac vs 2011 mid-range iMac. In that case the HD5750 wins every time and it's not because of VRAM amount. The HD5750 in the 2010 iMac is actually a Mobility Radeon HD 5850 with 800SP at 625MHz core and 1000MHz memory on a 128-bit memory bus, which would definitively beat the HD6770M with 480SP at 725MHz core and 900MHz memory on a 128-bit bus. I understand the question is more theoretical than the specific GPUs involved though.

Quote

We worked for over a year with Blizzard on making sure everything worked in Starcraft 2. This included integrating a completely new shader compiler for the Radeon X1600 and Radeon X1900 cards!
Writing a completely new shader compiler for the X1000 series is a surprising commitment since I thought those old cards had already been put on life support/maintenance only. Given Starcraft 2's release, I'm guessing this was for Snow Leopard, rather than Lion only?

I'm curious though, why if the X1000 support was recently redeveloped, ARB_framebuffer_object support wasn't added? I remember Brad Oliver specifically requesting this extension for the X1000 a year ago pointing out that without it the X1000 could be prematurely dropped from being supported in newer games. The hardware definitely supports it since it's available in the Windows OpenGL driver and is DX9 functionality. X1000 support in games has been decreasing although I don't know if this can be attributed to lack of ARB_framebuffer_object. The X1600 doesn't have the performance for newer games, but the X1900 is faster than the HD2400XT and 9400M and should definitely hold it's own against the 8600GT, HD2600Pro/XT which are still generally supported so the X1900 still has some life in it. I'd be curious to see if the X1000 could support ARB_color_buffer_float too seeing it's available in nVidia's equivalent generation 7000 series Windows drivers, although not OS X drivers.

And given the AMD X1000 series is known to have much better OS X driver support than the equivalent generation nVidia 7000 series, AMD might want to look into why VP Ltd's Hearts of Iron 3: For The Motherland specifically doesn't support the X1000 series and yet supports the 7000 series. There must be some very specific quirk there.


If I can suggest some other questions:

1. First, not a question, but I wanted to congratulate AMD on design wins across the entire 2011 Mac lineup at the expense of nVidia. I believe a lot of that was the forethought to spend the transistors on Eyefinity across the entire HD5000/HD6000 product line, which now allows Apple to offer >2 display support with Thunderbolt. The great thing about AMD for Mac, is that Chris Bentley is active in the community such as giving interviews and answering questions on mailing lists, something I really don't need nVidia or Intel's driver teams doing.

Obviously it can't be talked about yet, but I'd be very curious how Thunderbolt is enabled on the upcoming Mac Pro. Are the Thunderbolt ports and controllers on the motherboard and the graphics card's display output connected to the motherboard through a separate internal cable (not the PCIe port) to provide the display signal? Meaning the Thunderbolt ports are on the motherboard header and the back of the graphics card is now just one big vent. Or are the Thunderbolt ports on the graphics card, with the controllers on the graphics card sharing the PCIe x16 bandwidth or the graphics card having a separate internal cable to route the Thunderbolt data signal to the ports on the graphics card bracket? I guess we'll have to wait for the Mac Pros to be released to see.

2. AMD has definitely been at the forefront of OpenCL, having dropped their own proprietary Close to Metal interface for OpenCL. nVidia by contrast is still focusing on CUDA, with their OpenCL 1.1 drivers just recently released, almost reluctantly after AMD, then Intel for CPUs, and Apple with Lion all releasing OpenCL 1.1 drivers first. While AMD has been pushing OpenCL drivers, SDK, and tech announcements with Havok and Bullet, when are we going to see OpenCL used in games? Is it that there isn't actually a real net for GPGPU in games or that developers just haven't caught on yet? What needs to happen for developers to catch on and what can AMD do to help that along? OpenCL's advantage as a GPGPU interface is that it's non-proprietary (vs CUDA), runs on the CPU for fallback (vs. DirectCompute), and is cross-platform (seeing Mac market share is steadily creeping up). OpenCL hardware/drivers are finally all in place with GPU support from AMD, nVidia, and Intel (Ivy Bridge) and fallback CPU support from AMD and Intel. Hopefully we'll see something happening in the next year.

3. Given Apple's plugin driver architecture, is it useful for AMD to release graphics drivers themselves separate from OS X updates? Or are complementary changes to Apple's front-end generally required for effective performance improvements or bug fixes? Is the potential to break something just too great, when going it alone? Does AMD have any interest in continuing to offer new drivers to older OS for a period of time? With driver updates tied to OS updates, Snow Leopard drivers are presumably no longer seeing any updates now that 10.6.8 is out (unless the rumoured iCloud 10.6.9 appears). However, now that Snow Leopard OS development is finished and stable, does that mitigate some of the concerns of AMD releasing their own drivers updates breaking things since it should be easier to test if things aren't a moving target. An additional 6 months - 1 year of previous OS driver updates after a new OS is released would be very useful.

4. Does AMD have any comment on Crossfire support for OS X. Personally, with it sometimes seeming that everyone already has there hands full with keeping OS X optimized for new and old games with single GPUs, I don't think placing the additional burden of supporting Crossfire/SLI for niche Mac Pro gamers is worthwhile. I'm also not enthused about Crossfire/SLI efficiently either with sometimes wonky performance scaling, increased power usage or space usage. Still, its a pretty common Mac gaming question for enthusiasts that should be answered one way or another.

5. What is AMD's feeling about developers making games natively in OpenGL? Presumably there are now plenty of developers familiar with OpenGL semantics due to the popularity of OpenGL ES and soon WebGL. With the legacy cruft removed, OpenGL 3.2 Core profile is said to be quite close to OpenGL ES 2.0. Has OpenGL ES's success in mobile helped? OpenGL's advantage is of course its cross-platform potential, but do OS/API differences make it realizable to have a largely unified codebase for a cross-platform game? Now that OpenGL 3.2 is available in OS X, ie. that the OpenGL implementation on the Mac isn't so far behind Windows in terms of feature support, has that increased developer interest in making OpenGL games? An OpenGL 3.2 game could potentially support Windows Vista, Windows 7, OS X Lion, and Windows XP with the later being notable for bringing DX10 features to the 21% of DX10/DX11 GPU owners who, according to the latest August Steam Survey, actually use Windows XP. Assuming a game developer does intend to support Mac, what advantages/disadvantages does an OpenGL native approach give compared to using DirectX and writing an OpenGL translator as used by the Source engine, using DirectX and using a Cider wrapper, or using DirectX and later porting to OpenGL for the Mac version?

6. These are kind of loaded questions, but regardless of whether it is Apple's limitation due to the OS X architecture or AMD's limitation due to AMD Mac driver manpower compared to Windows driver manpower, given a properly optimized game on both platforms, is OS X's AMD OpenGL driver performance faster, slower, or the same as Windows' AMD OpenGL driver? Now for even more controversy, to achieve the same graphics effect, assuming its properly optimized on both platforms without changing the output quality, can performance in OS X OpenGL match that of Windows DirectX?

7. With the new Thunderbolt Display being a very full featured dock which especially benefits the MacBook Air giving desktop-like peripheral access, does AMD feel this is the way of the future? Specifically, computers will become ultra-portables that have the bare minimum features need for the road, but become full computers when docked at home including external graphics cards. It obviously won't work that well for high-end GPUs due to bandwidth limitations, but can PCIe 2.0 x4 be sufficient for today's mid-range GPUs? Does AMD think external interfaces like Thunderbolt will speed up faster enough to enable external graphics cards with little performance sacrifice in the near future?

Sorry for being long winded.

EDIT:

Some additional questions:

8. What exactly is meant in Lion by the Legacy profile in terms of support? Do Legacy and Core just control the front-end portion of the pipeline with both pipelines sharing the same AMD driver in the back-end? Or are Legacy and Core profile completely separate drivers? If they are separate drivers, will the Legacy driver still receive full support, ie. frequent updates, performance improvements, bug fixes, new extensions as needed? Or will the Legacy driver just receive bug fixes? Perhaps something in between, like performance improvements and bug fixes, but no new extensions.

It would be good if the Legacy profile were to gain additional extensions to bring it up to OpenGL 3.1 support sans the new GLSL. Games will be coming out on the Legacy profile for a while, particularly established game engines like that used in WoW, Starcraft 2, and Diablo III, where they aren't likely to rush to write a separate OpenGL 3.2 Core rendering path. Having a pseudo-OpenGL 3.1 Legacy profile, up from the current pseudo-OpenGL 3.0 Legacy profile, would make a good complement to the OpenGL 3.2 Core profile.

9. Since it was leaked, I've been wondering why OpenGL 3.2? I can understand not going to OpenGL 4.0 since adding tessellation support, new shader types, and new data formats is probably tricky. I'd be curious to see whether Apple implements a software tessellator since they like to keep the software renderer in sync with the GPUs. So if no OpenGL 4.0, why not OpenGL 3.3? OpenGL 3.2 brings many new features, but seeing all AMD and nVidia DX10 GPUs support OpenGL 3.3 in Windows and Linux, it just seems like something is being left on the table. Presumably, it's again something to do with the software renderer and/or, like Apple didn't have enough time to add GLSL 3.30 support to the front-end and update the software renderer.

#7 Smoke_Tetsu

Smoke_Tetsu

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 2641 posts
  • Steam Name:Tetsuo
  • Steam ID:smoke_tetsu
  • Location:Cyberspace

Posted 29 September 2011 - 09:42 PM

View Postltcommander.data, on 29 September 2011 - 09:24 PM, said:

Assuming a game developer does intend to support Mac, what advantages/disadvantages does an OpenGL native approach give compared to using DirectX and writing an OpenGL translator as used by the Source engine, using DirectX and using a Cider wrapper, or using DirectX and later porting to OpenGL for the Mac version?
The question for me here with this is which games where the latter? In a way I kind of doubt there are many if any games that used Direct3D on Windows that when ported got entirely rewritten for OpenGL without any kind of translation whatsoever. Hell, to be frank even Transgaming's work was used longer than most people realize.... Omni group used to use custom versions of transgaming's software on their ports of games like Tron 2.0 and AvP2. Point is sometimes you can't just make assumptions as to what the developers porting a game used ultimately.

BTW, in my experience totally OpenGL native games tend to be a lot faster than any translated games.... for example Doom 3 is faster than equivalent featured translated games even when you pile on a bunch of features like with the sikkmod (which adds many if not all modern features doom 3 lacks including motion blur, HDR, crytek style screenspace ambient occlusion, tone mapping, color grading, etc. etc.).... even you run that through a windows opengl to mac opengl converter via a wrapper.
--Tetsuo

Alex Delarg, A Clockwork Orange said:

It's funny how the colors of the real world only seem really real when you viddy them on the screen.

the Battle Cat said:

Slower and faster? I'm sorry to hear such good news?

Late '09 27 inch iMac, Core i5 Quad 2.6Ghz, 12GB RAM, ATI Radeon HD4850 512MB, 1TB Hard Drive


#8 ltcommander.data

ltcommander.data

    Positronic

  • Members
  • PipPipPipPip
  • 446 posts

Posted 30 September 2011 - 12:35 AM

View PostSmoke_Tetsu, on 29 September 2011 - 09:42 PM, said:

The question for me here with this is which games where the latter? In a way I kind of doubt there are many if any games that used Direct3D on Windows that when ported got entirely rewritten for OpenGL without any kind of translation whatsoever. Hell, to be frank even Transgaming's work was used longer than most people realize.... Omni group used to use custom versions of transgaming's software on their ports of games like Tron 2.0 and AvP2. Point is sometimes you can't just make assumptions as to what the developers porting a game used ultimately.

BTW, in my experience totally OpenGL native games tend to be a lot faster than any translated games.... for example Doom 3 is faster than equivalent featured translated games even when you pile on a bunch of features like with the sikkmod (which adds many if not all modern features doom 3 lacks including motion blur, HDR, crytek style screenspace ambient occlusion, tone mapping, color grading, etc. etc.).... even you run that through a windows opengl to mac opengl converter via a wrapper.
It's harder to tell with newer games since everyone seems to like to obfuscate their game files now. With older games, it looked like Call of Duty 4 and Age of Empires III, for example, were truly ported to OpenGL native since they have all their shaders written in what looks like ARB assembly. Perhaps the most graphically advanced Mac games of their day really need to use native OpenGL to make use of that performance advantage you mention to ensure playability. Although with modern games using more and more shaders that are ever longer, it's perhaps less feasible to rewrite everything in GLSL, much less hand tuned ARB assembly, so some type of translator really needs to come into play.

#9 ikir

ikir

    Legendary

  • Members
  • PipPipPipPipPip
  • 731 posts
  • Steam Name:ikir
  • Location:In front of my Mac

Posted 30 September 2011 - 12:39 AM

Very interesting reading! I would to know if we should expect another 3D performance boost in next OS X updates. Correct me if i'm wrong, but if a game on 10.7.x use core instead of compatibility it should run faster right?
ikir's personal page
MacBook pro retina 15"
8GB RAM, 512GB SSD, Nvidia 650M
Cyborg RAT 5
Magic Trackpad

..and Darkest of Days is still slow ;-)

#10 Smoke_Tetsu

Smoke_Tetsu

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 2641 posts
  • Steam Name:Tetsuo
  • Steam ID:smoke_tetsu
  • Location:Cyberspace

Posted 30 September 2011 - 01:09 AM

View Postltcommander.data, on 30 September 2011 - 12:35 AM, said:

It's harder to tell with newer games since everyone seems to like to obfuscate their game files now.
Sometimes it's hard to tell what API a game is using in general like for example.... for the longest time I assumed Raven's id tech 4 based Wolfenstein was OpenGL because of how well it ran wineskin and because it uses an id engine. But it turned out that at least in the single player campaign they used a custom DX9 deferred renderer... I had even poked around all the cvars, config files, etc. and found no references to direct3D or anything like that and would have been ignorant to it had I not seen what they said at the id tech 4 page at the modding wiki:

Quote

Wolfenstein
Official website: www.wolfenstein.com
Latest version: 1.1
Single player and Multiplayer are two seperate branches
Single player - evolved from Quake 4 branch.
OpenGL renderer replaced with Directx 9 deferred renderer.
File streaming system labeled 'Streamtech' using stream packs.
UI using Scaleform GFX
Physics handled by Havok
Multi player - evolved from ETQW branch.
Can use MD5r models of single player format.

On the other hand I had "native" games which seem to use OpenGL natively  be more crashy\buggy\less performance than that despite being originally OpenGL.... *cough* Riddick *cough* (that engine had a choice in Windows between OpenGL and Direct3D anyway) I mean that game isn't TOO bad right now but I can't turn on AA for fear of glitches and crashing. At least in Lion. :P

But yeah generally speaking the rule of thumb seemed to be that totally OpenGL native games run better in non-windows environments where OpenGL is the native API.
--Tetsuo

Alex Delarg, A Clockwork Orange said:

It's funny how the colors of the real world only seem really real when you viddy them on the screen.

the Battle Cat said:

Slower and faster? I'm sorry to hear such good news?

Late '09 27 inch iMac, Core i5 Quad 2.6Ghz, 12GB RAM, ATI Radeon HD4850 512MB, 1TB Hard Drive


#11 Kilvain

Kilvain

    Notorious

  • IMG Writers
  • PipPipPip
  • 152 posts

Posted 30 September 2011 - 02:40 AM

Lots of interesting questions. I don't think Chris will have time to answer, since we've already taken up a lot of his time already. Hopefully he'll agree to another interview at a later date and I'll be able to add some reader questions to the list.

#12 star-affinity

star-affinity

    Fanatic

  • Members
  • PipPip
  • 53 posts

Posted 03 October 2011 - 09:32 AM

I'd really like to know about this supposed ”new OpenGL stack” in Lion that I read about in an article on Ars Technica:

My initial reaction was, "That's pretty underwhelming considering that the Quadro and Radeons already support OpenGL 4.1 on Windows," but I think there's reason to be confident that we won't have to wait as long as we did with 3.2 to reach GL 4.1. The 3.2 OpenGL stack in 10.7 is a completely new implementation, and it's been separated from the existing 2.1 stack, which will be used by apps until code explicitly calls for the "forward context" GL implementation. Even before I knew about Lion's OpenGL 3.2, I'd heard from some reputable people that an "overhaul" of the GL stack was coming, so this need to explicitly call the new implementation suggests it's radically different from the previous one. The low-ish 3.2 might just be to give Apple and developers fewer bugs to squash while moving to this new path.

Third paragraph from bottom of this page: http://arstechnica.c...ing-start.ars/4

What is the news on this?
Would utilizing this new OpenGL stack in Lion improve frame rates in current and future games?

I guess Chris would know. :)