Microsoft set to announce DirectX DirectSR (Super Resolution) at GDC 2024

Lakados

[H]F Junkie
Joined
Feb 3, 2014
Messages
10,476
https://wccftech.com/microsoft-dire...tion-technology-debut-gdc-amd-nvidia-partners

1708969987125.png


The other half of this is the supposed AutoSR feature that is coming in Windows 24H2 which rumors suggested was similar to AMD SuperResolution
 
You mean Microsoft is finally implementing upscaling into Direct3D? Took them long enough. I wonder if it's based on AMD's FSR?
That might not be that odd of an idea. Apple's MetalFX use's elements of FSR for it's AI enhanced upscaler as well.
 
You mean Microsoft is finally implementing upscaling into Direct3D? Took them long enough. I wonder if it's based on AMD's FSR?
Looking at the list of presenter (that include someone from Nvidia and AMD), feel like Microsoft will have one that use NPU (so not entierelly like FSR) in their AI push and bring usecase for NPU present in laptop, youtube and other streaming video upscaling as well has some ways to make it easier for game to use one of those solution (like DLSS and FSR) in a very similar way for the game engine, maybe not in Direct3D, more like in their many API-toolkits around it that they have in the DirectX family.

Laptop monitor native resolution being much higher than a lot of media being common, I think.
 
Last edited:
You mean Microsoft is finally implementing upscaling into Direct3D? Took them long enough. I wonder if it's based on AMD's FSR?
Could be but Nvidia has been working with Microsoft internally on it for 2 years now. So I expect it's an evolution or forking of the Streamline program.
Streamline is about the best solution going but it's Nvidia branded and controlled, AMD can't get on board with it it would be publically admitting defeat, and giving Nvidia unilateral control of the API isn't good for anybody so Microsoft comes to the rescue as the 3'rd party mediator they need.
Microsoft takes Streamline and forks it as their own thing they become the front runner and now AMD, Intel, and Nvidia are working in partnership with Microsoft, not AMD and Intel working under Nvidia, 100% optics issue but this neatly solves the whole thing.
 
Aaaaand it is not an upscaler, it looks like MS's version, fork, take? of Streamline

https://devblogs.microsoft.com/directx/directx-innovation-on-display-at-gdc-2024/

Introducing DirectSR​

We’re thrilled to announce DirectSR, our new API designed in partnership with GPU hardware vendors to enable seamless integration of Super Resolution (SR) into the next generation of games. Super Resolution is a cutting-edge technique that increases the resolution and visual quality in games. DirectSR is the missing link developers have been waiting for when approaching SR integration, providing a smoother, more efficient experience that scales across hardware. This API enables multi-vendor SR through a common set of inputs and outputs, allowing a single code path to activate a variety of solutions including NVIDIA DLSS Super Resolution, AMD FidelityFX™ Super Resolution, and Intel XeSS. DirectSR will be available soon in the Agility SDK as a public preview, which will enable developers to test it out and provide feedback. Don’t miss our DirectX State of the Union at GDC to catch a sneak peek at how DirectSR can be used with your games![/quote[

That's lame as hell, and massively disappointing.
 
You mean Microsoft is finally implementing upscaling into Direct3D? Took them long enough. I wonder if it's based on AMD's FSR?

It's not part of Direct3D, it'll be its own framework. It doesn't fit into D3D at all - it needs to sit a layer higher.

It doesn't make sense for it to be a Streamline-esque thing that only works in Microsoft land. It would just fuck up your renderer's abstraction that you get for "free" out of virtue of your engine being multi-platform. Like great, it gave me some kind of standardized interface and... it only works on WIndows. Why would I just not implement FSR or my own TAA and have it work everywhere.

I'm assuming it's basically just be like MetalFX and is just their own library/upscaler implementation.
 
I'm assuming it's basically just be like MetalFX and is just their own library/upscaler implementation.
It is already announced (to be something between the game engine and the dlss-fsr of the world) and not their own upscaler, it is in their Agility SDK, can see it make FSR 2 on Xbox and DLSS-Xess support on PC for game that only launch on both not having to support change in the surface of DLSS-FSR-Xess to update them if they ever happen, OS update sdk able to take care of it... maybe ?

DLSS update at OS level, not needed for individual game to do it ?
 
You mean Microsoft is finally implementing upscaling into Direct3D? Took them long enough. I wonder if it's based on AMD's FSR?
Well we all know what MS based DX12 on so I wouldn't be surprised if they continued that evolution as it help defeat monopolistic practices.
 
Well we all know what MS based DX12 on so I wouldn't be surprised if they continued that evolution as it help defeat monopolistic practices.
DX12 was not based on Mantle, AMD released Mantle in late 2013, and DX12 was initially released only a few months later in early 2014. Microsoft started developing DX12 while they were still actively supporting DX10 and DX11 still hadn't been released yet.
 
MS literally copied AMD's white paper word for word as reported here at [H] because there was no need to change it.
AMD spawned it and it grew into the iterations we know today which all happened surprisingly shortly after Mantel was released.
 
MS literally copied AMD's white paper word for word as reported here at [H] because there was no need to change it.
AMD spawned it and it grew into the iterations we know today which all happened surprisingly shortly after Mantel was released.
That was on queuing.

But It was clear back in 2014 that DX12 sought to implement the functionality, I remember AMD calling it a copy but that the APIs were very different and that Microsoft was doing its own thing.

AMD wanted Mantle to be their CUDA.
 
That was on queuing.

But It was clear back in 2014 that DX12 sought to implement the functionality, I remember AMD calling it a copy but that the APIs were very different and that Microsoft was doing its own thing.

AMD wanted Mantle to be their CUDA.
I disagree. AMD wanted Mantel to be their break from an Nvidia dominated, driver fuckery, DX11 that they had mastered.
 
I disagree. AMD wanted Mantel to be their break from an Nvidia dominated, driver fuckery, DX11 that they had mastered.
I don't know how much of that was Nvidia fuckery or Balmer fuckery, but fuckery was indeed a foot.
 
I remember AMD calling it a copy but that the APIs were very different and that Microsoft was doing its own thing.
AMD called out nothing. Don't know what you're remembering. MS clearly stated ATT, that they had NO intentions of moving beyond DX11.
 
AMD called out nothing. Don't know what you're remembering. MS clearly stated ATT, that they had NO intentions of moving beyond DX11.
Not quite, they said it was no longer evolving, and they used that as their explanation as to why they killed off their XNA platform.
https://www.extremetech.com/gaming/...velopment-declares-directx-no-longer-evolving

But the idea there was that the platform was stagnant and not in touch with the reality of game development in the real world.

But the Were not evolving DX thing stuck so they put out a email blast clarifying their statement.

https://ventspace.wordpress.com/2013/01/31/follow-up-on-directxxna/
 
I disagree. AMD wanted Mantel to be their break from an Nvidia dominated, driver fuckery, DX11 that they had mastered.
The fuckery was Nvidia's Nvapi, which was their API that ran on top of DX11 that gave Nvidia an edge in performance. Think of it like EAX and DirectSound or OpenAL. It's also now a problem for those using Linux and wanting to play Windows games with this API.
 
The fuckery was Nvidia's Nvapi, which was their API that ran on top of DX11 that gave Nvidia an edge in performance. Think of it like EAX and DirectSound or OpenAL. It's also now a problem for those using Linux and wanting to play Windows games with this API.

AMD had their own library as well, AGS. For better or worse, DX has no extension mechanism like GL or Vulkan.

In DX9 certain vendor features were just enabled through sheer hackery that acted as a hint to the driver.

Want to enable geometry instancing? Haha good luck you actually need to try to change a completely arbitrary and unrelated render state but pass in a magic number for one of the parameters. Oh and it only works on AMD.

Looking for a specific texture format? Cool the other vendors added support to their drivers 4 years later.
 
DX12 was not based on Mantle, AMD released Mantle in late 2013, and DX12 was initially released only a few months later in early 2014. Microsoft started developing DX12 while they were still actively supporting DX10 and DX11 still hadn't been released yet.
And AMD didn't have DX12 drivers ready until early 2015, months after NVIDIA had their drivers ready.
MS literally copied AMD's white paper word for word as reported here at [H] because there was no need to change it.
AMD spawned it and it grew into the iterations we know today which all happened surprisingly shortly after Mantel was released.
Yes, because the goals of the API were the same. That doesn't mean Microsoft based DX12 on Mantle. You can only write how to do things like command list queues a limited number of ways.
 
Considering the tight link between AMD and Microsoft for the Xbox (and how much Xbox must be involved in DirectX), I think the AMD's Durango GPU in the 2013 Xbox was able to run DX 12 ? Not sure if there is a competition in between them here, at least once the cycle they are the chosen one for the next Xbox is strongly started, must be a bit same team.
 
Last edited:
Considering the tight link between AMD and Microsoft for the Xbox (and how much Xbox must be involved in DirectX), I think the AMD's Durango GPU in the 2013 Xbox was able to run DX 12 ? Not sure if there is a competition in between them here.
No, it was only DX11.2, the Xbox One S (Aug 2, 2016) got the Durango 2 and that had DX12 but developers didn't have the tools then to make use of it until quite a while after its release.
 
No, it was only DX11.2, the Xbox One S got the Durango 2 and that had DX12 but developers didn't have the tools then to make use of it until quite a while after its release.
I do not know enough to say what this mean in that context:
https://www.neowin.net/news/directx-12-a-game-changer-for-xbox-one/

Xbox One gets a major upgrade​


Meanwhile, Microsoft's Xbox One has been well received but has been criticized for being measurably behind Sony's Playstation 4 in terms of game performance. Microsoft has responded with DirectX 12. With relatively little effort by developers, upcoming Xbox One games, PC Games and Windows Phone games will see a doubling in graphics performance.
XBox One is the biggest beneficiary; it effectively gives every Xbox One owner a new GPU that is twice as fast as the old one.


I thought launched with 11.2 has DX12 did not released yet, but planned for DX12 and was able to run it and did....
https://blog.unity.com/technology/directx-12-on-xbox-one-now-available-with-unity-2018-3

Or was it a software stack translating DX12 to 11.2 hardware ?
 
And AMD didn't have DX12 drivers ready until early 2015, months after NVIDIA had their drivers ready.

Yes, because the goals of the API were the same. That doesn't mean Microsoft based DX12 on Mantle. You can only write how to do things like command list queues a limited number of ways.

Yeah, conceptually they have similar goals but the API design is very different. DX isn't even a C API.

I do not know enough to say what this mean in that context:
https://www.neowin.net/news/directx-12-a-game-changer-for-xbox-one/

Xbox One gets a major upgrade​


Meanwhile, Microsoft's Xbox One has been well received but has been criticized for being measurably behind Sony's Playstation 4 in terms of game performance. Microsoft has responded with DirectX 12. With relatively little effort by developers, upcoming Xbox One games, PC Games and Windows Phone games will see a doubling in graphics performance.
XBox One is the biggest beneficiary; it effectively gives every Xbox One owner a new GPU that is twice as fast as the old one.


I thought launched with 11.2 has DX12 did not released yet, but planned for DX12 and was able to run it and did....
https://blog.unity.com/technology/directx-12-on-xbox-one-now-available-with-unity-2018-3

Or was it a software stack translating DX12 to 11.2 hardware ?

The API defines feature levels that is essentially a list of hardware features that you need to support to say you're compliant with that level.

This includes down level to an extent, so DX11 class hardware could technically work fine on the API as long as you avoided certain features.

I think the Xbox One fell into the 12 feature level anyway, but there wasn't really a major roadblock to making it happen. The API on console supposedly isn't exactly the same as it is on PC, so I don't know if the feature level stuff quite lines up perfectly, but the exact differences aren't disclosed - you need to sign an NDA for their SDK.
 
I do not know enough to say what this mean in that context:
https://www.neowin.net/news/directx-12-a-game-changer-for-xbox-one/

Xbox One gets a major upgrade​


Meanwhile, Microsoft's Xbox One has been well received but has been criticized for being measurably behind Sony's Playstation 4 in terms of game performance. Microsoft has responded with DirectX 12. With relatively little effort by developers, upcoming Xbox One games, PC Games and Windows Phone games will see a doubling in graphics performance.
XBox One is the biggest beneficiary; it effectively gives every Xbox One owner a new GPU that is twice as fast as the old one.


I thought launched with 11.2 has DX12 did not released yet, but planned for DX12 and was able to run it and did....
https://blog.unity.com/technology/directx-12-on-xbox-one-now-available-with-unity-2018-3

Or was it a software stack translating DX12 to 11.2 hardware ?
Both. The Xbox One had some features bolted on that were integrated into DX11.3 and later 12, so it had limited compatibility but not full DX12. One of the core features brought in was better multi-core support which lets DX12 titles do a better job of breaking up the master thread.
So it is more accurate to say that the Xbox One ran DX12 in a DX11 compatibility mode by only allowing a very limited feature set, it wasn't until the One S that the Xbox platform had full DX12 compatibility.

Microsoft in 2014 was doing a big PR campaign on how DX12 was going to greatly improve the platform in an attempt to dissuade customers from getting the PS4 because the Xbox One launch was straight-up terrible and they were bleeding customers.
 
Both. The Xbox One had some features bolted on that were integrated into DX11.3 and later 12, so it had limited compatibility but not full DX12. One of the core features brought in was better multi-core support which lets DX12 titles do a better job of breaking up the master thread.
So it is more accurate to say that the Xbox One ran DX12 in a DX11 compatibility mode by only allowing a very limited feature set, it wasn't until the One S that the Xbox platform had full DX12 compatibility.

Microsoft in 2014 was doing a big PR campaign on how DX12 was going to greatly improve the platform in an attempt to dissuade customers from getting the PS4 because the Xbox One launch was straight-up terrible and they were bleeding customers.

You are right about the launch, which was a disastrous shame. I loved the Kinect 2 and the multitasking of the original interface but, they screwed the pooch on both instances and let them both die off. Having voice control was great and is what we have on our iPhones, as a regular thing, 10 years later.
 
Anytime the entire industry can benefit we all win. If this borrows from FSR I'm okay with that. Developers will always have the option to implement either. The older I get the more opensource stuff I want to embrace.
 
Anytime the entire industry can benefit we all win. If this borrows from FSR I'm okay with that. Developers will always have the option to implement either. The older I get the more opensource stuff I want to embrace.
This will not be open, but developers don't have to build multiple upscaling interfaces into game engine

Developers will no longer have to choose which upscaling technology to support

The DirectSR API will rectify this situation, says Microsoft, by enabling "multi-vendor super resolution" in games through a common set of inputs and outputs. This will allow a single code path to activate Nvidia DLSS, AMD FSR, and Intel XeSS as long as a developer implements DirectSR, theoretically removing the choice developers have had to make when making games while simplifying the upscaling integration process.

AMD, Nvidia, and Intel are on board, as Microsoft says it was developed in partnership with all three GPU manufacturers, so it certainly sounds promising.


https://www.extremetech.com/gaming/...caling-wars-with-directx-super-resolution-api
 
This will not be open, but developers don't have to build multiple upscaling interfaces into game engine

Developers will no longer have to choose which upscaling technology to support

The DirectSR API will rectify this situation, says Microsoft, by enabling "multi-vendor super resolution" in games through a common set of inputs and outputs. This will allow a single code path to activate Nvidia DLSS, AMD FSR, and Intel XeSS as long as a developer implements DirectSR, theoretically removing the choice developers have had to make when making games while simplifying the upscaling integration process.

AMD, Nvidia, and Intel are on board, as Microsoft says it was developed in partnership with all three GPU manufacturers, so it certainly sounds promising.


https://www.extremetech.com/gaming/...caling-wars-with-directx-super-resolution-api
This was badly needed to keep people from being upset about their favorite upscaler not being included in their games.
 
Not sure if Frame generation was mentioned once ?

Will be curious if AMD-Nvidia-Intel will be able to update dlss-fsr-xess by a good amount including options (quality presetup, dynamic res, etc...) without the game having to change anything, for this to work really we can imagine that it will be nice if the game ask DirectSR available options and use the answer to populate their graphic option in their menu to not have to know and manage all the possible FSR-DLSS-Xess nomenclature and different possible option and not have to update the game if extreme quality or extreme performance ever exist.

If frame generation stay a different thing maybe it does mean much, with game engine still having wrapper and keeping aware of a very close tech anyway, but has of now upscaling seem much more important than FG and console does not have frame generation anyway I think.

Maybe that type of project work well if you only allow for tech that all vendors currently support (streamline had frame generation in it) for them to be all in and once Intel release ExtraSS it will be added.
 
This will not be open, but developers don't have to build multiple upscaling interfaces into game engine

Developers will no longer have to choose which upscaling technology to support

The DirectSR API will rectify this situation, says Microsoft, by enabling "multi-vendor super resolution" in games through a common set of inputs and outputs. This will allow a single code path to activate Nvidia DLSS, AMD FSR, and Intel XeSS as long as a developer implements DirectSR, theoretically removing the choice developers have had to make when making games while simplifying the upscaling integration process.

AMD, Nvidia, and Intel are on board, as Microsoft says it was developed in partnership with all three GPU manufacturers, so it certainly sounds promising.


https://www.extremetech.com/gaming/...caling-wars-with-directx-super-resolution-api

So the question is, how is the API structured? Is it intended to just be an interface over an upscaler and the driver provides the underlying implementation? Because this is what it sounds like.

This takes care of the weird drama at the cost of choice. You get your vendor's upscaler and probably the future Microsoft one and it "just works." Developers don't pick or choose or get a handjob under the table from IHVs to stick to their tech. Which on the flip side would mean on AMD, XeSS may not be exposed - for example, because you just get what the driver supports. This is also a little odd because it has implications for benchmarking and image quality dependent on your hardware.

If they give you the freedom to rig up whatever, it's also kind of a shit abstraction that doesn't solve a ton. Because it's presumably going to work on Microsoft platforms and you're stuck maintaining multiple paths anyway if you're doing upscaling on consoles.

At which point the path of least resistance is basically "support FSR," amusingly, because it's seemingly the singular one-and-done solution.

So realistically I'm assuming it's the former. If you have Nvidia, you just get DLSS. If you have AMD, it winds up as FSR. If you have Intel, enjoy your XeSS. And once Microsoft rolls out their solution, your options double to that as well. And that's it.
 
Last edited:
And even just on windows pc game, would Vulkan game engine use the DirectX 12 Agility SDK ?
 
Is Auto SR different from Direct SR ?

I mean is Direct SR purely for GPUs, while Auto SR can take advantage of CPUs / NPUs also ??
 
The fuckery was Nvidia's Nvapi, which was their API that ran on top of DX11 that gave Nvidia an edge in performance.
No. That nvapi only ran when an Nvidia card was installed. When an AMD card was installed, AMD's api would run.

Performance was generally due to the hardware. Though some bit of performance could come from more efficient code in nvapi, if true that would be on AMD to have improved their equivalent code back then, for their GPU's.

There was a generation of amd GPU's that had very weak shader performance compared to Nvidia. It resulted in AMD's poor performance, but AMD fans will swear Nvidia somehow sabotaged AMD cards....
 
Back
Top