What Happens in Your GPU When Creating a Frame (w_ AMD)

Hello and Welcome to Gamers Nexus!

Today, we're joined by Robert Hallock of AMD, and we're going to talk about GP Rendering Pipeline on DirectX 12. Before we dive into that, we'd like to thank Cyber Power PC for sponsoring this coverage. They recently overclocked their fan book past 4 GHz, and we can't wait to see what other amazing things they have in store for us.

Now, let's get started with the top-level GPU rendering pipeline. From a really high level, here's how it works: the game adds the graphics card to do something, the CPU pulls in that information, orders it up for the graphics card, and sends it off to the GPU. The GPU then interprets the work as provided by the CPU, which is essentially what we call a draw call whenever the CPU asks the GPU to do something.

At the front end of the GPU, you have a hardware scheduler that organizes compute, graphics, and memory workloads. This scheduler sends the work through the graphics pipeline, where you set up geometry, texturing, lighting, and effects before spitting it out on the other side – and that's what comes out in your monitor as raster graphics.

So, when working with geometry, does it get drawn before shaders or effects? Geometry comes first, and then it's followed by the aces. In DirectX 11, this is where the hardware scheduler or aces determine if the work is compute-related or graphics-related, scheduling them separately before proceeding with dx12. With DirectX 12, we have asynchronous compute, which allows for setting up effects like depth of field, artificial intelligence, and GPU physics independently of geometry work.

This asynchronous compute feature saves a ton of time by allowing you to do setup work in parallel with the actual rendering process. When the model is finished, both the geometry and the setup work are completed, making it easier to jump into rendering without any delays.

In some of our previous conversations about DirectX 12, we talked about how AMD has seen significant gains in performance thanks to this technology. According to Robert Hallock, the responsible element for these gains is a combination of two things: asynchronous compute and the use of the Mantle API.

Firstly, the Mantle API was crucial in winning over console developers to work with AMD hardware. By training them on console architecture and providing an API that worked similarly but with desktop capabilities, AMD was able to get a huge following. This means that now, most desktop gaming APIs look and feel like they're using Mantle.

Secondly, the use of asynchronous compute has been instrumental in achieving these gains. With DirectX 12, developers can do setup work for effects independently of geometry work, making it easier to optimize their code and achieve better performance. We've seen 5-30% uplifts on performance tests with this technology, which is just incredible.

Now, we know that Vulcan is another API developed by AMD for desktop gaming. It's still relatively early in its development cycle compared to DirectX 12, but it's built on the same principles as Mantle and shares many of the same features. Robert Hallock mentions that developer conjecture suggests it might be around eight months behind DirectX 12 in terms of development time.

However, what we do know is that Vulcan has already been used by one game – Talis Principal – and there are more games on the way. AMD took the entire Mantle project specification and donated it to Kronos last year, who have built upon it to create a multivendor, multi-operating system. At its heart, though, Vulcan is still very much like Mantle.

Before we wrap up, let's take a look at what's happening at the AMD booth at PAX East 2016. They're hosting a five-on-five League of Legends tournament, followed by different games on each day – including user Choice and Oculus VR demos. Some of their game partners include Banner Saga, who they've been working closely with to showcase their capabilities.

We'll be providing more information and photos from the event in the description below. Thank you for watching, and we'll see you all next time!

"WEBVTTKind: captionsLanguage: enhey everybody I'm Steve from Gamers nexus.net and I'm joined by Robert Hallock of AMD we're going to talk about GP rendering Pipeline on dx12 but before that this coverage is brought to you by cyber power PC who make the fan book that we recently overclocked past 4 GHz so Robert can you give us a quick run through of the top level GPU rendering pipeline what's happening on the GPU between the game engine when a scene is being drawn yeah sure so from a really high level uh the game will add the graphics card to do something the CPU will pull in that information order it up for the graphics card and send it off to the GPU uh the GPU will interpret the work as provided by the CPU um that's that's what you would call a draw call anytime the CPU asks the GPU to do something and then at the front end of the GPU you have a hardware scheduler which organizes the compute and the graphics and the memory workloads and then uh sends that through the graphics pipeline where you set up the geometry the texturing the lighting the effects and then you spit it out on the other side uh and that's raster Graphics it comes out in your monitor so where in the pipeline when you're working with geometry does that get drawn before the shaders are applied or before the effects are applied yeah geometry comes first and then where do the aces come in for AMD uh with dx11 in this case so that's at the front end of the GPU with uh the hardware schedulers or the aces uh that's where the GPU decides is this compute work or is is this Graphics work and then schedules those separately and then with dx12 so do the AC benefit dx12 for rendering yeah so in direct X12 there's this feature called asynchronous compute uh where the setup for effects like uh compute related effects depth of field artificial intelligence uh GPU physics um a lot of camera effects the the setup work for that can be done independently of the geometry work so you can do the at the same time so when the model is finished the geometry is finished the setup work for all the compute stuff is already done so you can jump right into rendering that out and and that saves a ton of time what would you say in some of the we spoke to Roy Taylor previously about this how the capson event what would you say is the uh responsible element for some of amd's gains with dx12 and recent benchmarks I think it's two things uh one is asynchronous compute we're seeing 5 to 30% uplift on out of that Fe which is just huge uh but also it's more of a long-term strategy for us uh mantle was a big piece of that first off winning the console cycle getting all the developers familiar with AMD hardware and how to use our architecture every game developer Studio that produces for console has AMD Hardware the same kind of Hardware that we use on the desktop um architecturally and and so we trained them on the console then we gave them an API on the desktop that worked very similarly and and then all the desktop gaming apis now kind of look and work like mantle so when you put all of those pieces together in a in a chain in a story you see the results in direct X12 people know how to use low-level apis on our Hardware they were trained to it where does where does Vulcan play into this compared to dx12 programming on the game side is does it have similar gains for AMD how does it work at at that level well vulcan's still pretty early it's uh I you know I've seen developer conjecture that it's like eight months behind direct X12 in terms of uh development but there is already a game the Talis principal um more are coming we know that um but Vulcan is based on mantle uh so we took the entire mantle project or the API specification and donated it to Kronos last year so they've built on that to make it multivendor multi-operating system but at its heart it's still a lot like mental right yeah so uh closing us out here give us a quick run through of what you guys have at the booth at pack sure so we're doing a five on five League of Legends tournament and then uh I believe uh Saturday we're we're switching to a different game then Sunday we're going to do uh user Choice um we're showing Oculus VR uh some of our game Partners like Banner Saga just all the the good gaming stuff that we're doing right now very cool so that's the AMD booth at PX East 2016 Link in the description below for more information photos things like that thank you for watching we'll see you all next time whey everybody I'm Steve from Gamers nexus.net and I'm joined by Robert Hallock of AMD we're going to talk about GP rendering Pipeline on dx12 but before that this coverage is brought to you by cyber power PC who make the fan book that we recently overclocked past 4 GHz so Robert can you give us a quick run through of the top level GPU rendering pipeline what's happening on the GPU between the game engine when a scene is being drawn yeah sure so from a really high level uh the game will add the graphics card to do something the CPU will pull in that information order it up for the graphics card and send it off to the GPU uh the GPU will interpret the work as provided by the CPU um that's that's what you would call a draw call anytime the CPU asks the GPU to do something and then at the front end of the GPU you have a hardware scheduler which organizes the compute and the graphics and the memory workloads and then uh sends that through the graphics pipeline where you set up the geometry the texturing the lighting the effects and then you spit it out on the other side uh and that's raster Graphics it comes out in your monitor so where in the pipeline when you're working with geometry does that get drawn before the shaders are applied or before the effects are applied yeah geometry comes first and then where do the aces come in for AMD uh with dx11 in this case so that's at the front end of the GPU with uh the hardware schedulers or the aces uh that's where the GPU decides is this compute work or is is this Graphics work and then schedules those separately and then with dx12 so do the AC benefit dx12 for rendering yeah so in direct X12 there's this feature called asynchronous compute uh where the setup for effects like uh compute related effects depth of field artificial intelligence uh GPU physics um a lot of camera effects the the setup work for that can be done independently of the geometry work so you can do the at the same time so when the model is finished the geometry is finished the setup work for all the compute stuff is already done so you can jump right into rendering that out and and that saves a ton of time what would you say in some of the we spoke to Roy Taylor previously about this how the capson event what would you say is the uh responsible element for some of amd's gains with dx12 and recent benchmarks I think it's two things uh one is asynchronous compute we're seeing 5 to 30% uplift on out of that Fe which is just huge uh but also it's more of a long-term strategy for us uh mantle was a big piece of that first off winning the console cycle getting all the developers familiar with AMD hardware and how to use our architecture every game developer Studio that produces for console has AMD Hardware the same kind of Hardware that we use on the desktop um architecturally and and so we trained them on the console then we gave them an API on the desktop that worked very similarly and and then all the desktop gaming apis now kind of look and work like mantle so when you put all of those pieces together in a in a chain in a story you see the results in direct X12 people know how to use low-level apis on our Hardware they were trained to it where does where does Vulcan play into this compared to dx12 programming on the game side is does it have similar gains for AMD how does it work at at that level well vulcan's still pretty early it's uh I you know I've seen developer conjecture that it's like eight months behind direct X12 in terms of uh development but there is already a game the Talis principal um more are coming we know that um but Vulcan is based on mantle uh so we took the entire mantle project or the API specification and donated it to Kronos last year so they've built on that to make it multivendor multi-operating system but at its heart it's still a lot like mental right yeah so uh closing us out here give us a quick run through of what you guys have at the booth at pack sure so we're doing a five on five League of Legends tournament and then uh I believe uh Saturday we're we're switching to a different game then Sunday we're going to do uh user Choice um we're showing Oculus VR uh some of our game Partners like Banner Saga just all the the good gaming stuff that we're doing right now very cool so that's the AMD booth at PX East 2016 Link in the description below for more information photos things like that thank you for watching we'll see you all next time w\n"