Direct3D feature levels discussion

Microsoft just clarified what DirectSR means.

"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"

 
Microsoft just clarified what DirectSR means.

"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"

The scaling part, sure, but what about the other parts of each technology? Step in the right direction anyway.
 
So, its just like Streamline. Expected more...

I'm kind of hoping that you implement DirectSR and maybe your driver will inject whichever upscaler it prefers, so if you're in intel user you don't have to wait on XeSS support, and if you're an Nivida user you don't have to wait on DLSS support. But I guess we'll see. It probably is just a standardized version of Streamline, but even that might be an improvement. I'm not sure how many games use Streamline. Having a hardware agnostic API is always better. I'm not sure if Streamline has any bias exactly, but I think it's just better than DirectX supports these common use cases natively.
 
I'm kind of hoping that you implement DirectSR and maybe your driver will inject whichever upscaler it prefers, so if you're in intel user you don't have to wait on XeSS support, and if you're an Nivida user you don't have to wait on DLSS support. But I guess we'll see. It probably is just a standardized version of Streamline, but even that might be an improvement. I'm not sure how many games use Streamline. Having a hardware agnostic API is always better. I'm not sure if Streamline has any bias exactly, but I think it's just better than DirectX supports these common use cases natively.
Driver has nothing to do with it. If you're implementing the backend with inputs then you're quite obviously doing it to implement something on top of that backend.
Technically it is just a Streamline really. Even less than I thought it would be.

Having a hardware agnostic API is always better.
Streamline is "h/w agnostic" and also multiplatform. DirectSR will be Windows only of course. So I'm not even sure that it's better than we've had for years now.
 
Driver has nothing to do with it. If you're implementing the backend with inputs then you're quite obviously doing it to implement something on top of that backend.
Technically it is just a Streamline really. Even less than I thought it would be.


Streamline is "h/w agnostic" and also multiplatform. DirectSR will be Windows only of course. So I'm not even sure that it's better than we've had for years now.
Streamline's purpose is to be a wrapper around the different upscaling technologies. So you have a common set of functions that you call from your program that then redirects the function calls to different plugins that handle the upscaling. The problem is that there are no fsr and xess plugins for Streamline (as far as I know). So I would not call Streamline "h/w agnostic" yet. And even if there were, a developer would have to download and include them in their code. Then at runtime check which ones work on the current device (and decide which one to use if multiple work).
As it looks right now, DirectSR would become an interface. So you have a common set of functions and those get implemented by the driver. A developer does not need to go download some plugins for the upscaling to work. If the driver sais it has support then it will work. The big downside is that you can no longer choose to use fsr or xess on nvidia cards because the driver will only have implementation for the vendor specific upscaling technology. The upside is that later versions of the driver can have new versions of the upscaling technology. Even if (by some miracle) a new GPU vendor would enter the market, old games that support DirectSR would work with the new vendor's upscaling solution without any modifications needed by the developers (assuming the new GPU vendor would support DirectX and all their features). This is not the case for Streamline, there the developers would need to download the new Streamline plugin and issue and update to their game.
 
The problem is that there are no fsr and xess plugins for Streamline (as far as I know).
Nothing's stopping AMD and Intel from providing such plugins but their own lack of desire to do so.

As it looks right now, DirectSR would become an interface. So you have a common set of functions and those get implemented by the driver. A developer does not need to go download some plugins for the upscaling to work. If the driver sais it has support then it will work. The big downside is that you can no longer choose to use fsr or xess on nvidia cards because the driver will only have implementation for the vendor specific upscaling technology.
This remains to be seen as implementing it this way would end up being exactly what you're describing which isn't a good design.

The upside is that later versions of the driver can have new versions of the upscaling technology.
The main reason why this isn't a thing right now is because nobody wants to bundle that s/w in the drivers or maintain b/c compatibility for older games where such updates can in fact lead to issues. So I wouldn't call that an upside.
 
Nothing's stopping AMD and Intel from providing such plugins but their own lack of desire to do so.
Well, they have not so Streamline can not be called a good option.

This remains to be seen as implementing it this way would end up being exactly what you're describing which isn't a good design.
I think that power users won't like this as there is less to tweak. But right now we have a system where the UI is very messy where you have multiple options with all their own settings and sometimes it's not clear which settings affects what. Thats really confusing for the end user. Also sometimes the UI around the upscaling tech is buggy where switching between options just bugs out and disables upscaling al together, or it reverts to a previous settings. Even benchmarking sites have had errors in their results because of this. All in all I think that for the average end user this would be a net win.

The main reason why this isn't a thing right now is because nobody wants to bundle that s/w in the drivers or maintain b/c compatibility for older games where such updates can in fact lead to issues. So I wouldn't call that an upside.
Actually Nvidia already has a driver side update option for dlss since their 3.1 SDK. GPU vendors have had game-specific compatibility settings for games for years, going so far as replacing shader code or even laying about GPU capabilities. So the experience and foundation from GPU vendors is there to support this. I suspect that in the end they will have different versions of upscale tech in the driver and they will have a per game profile that assigns the best one.

Intel already supports the Streamline initiative. I believe games currently using Streamline do not limit upscaler choice, ie can chose either DLSS or XeSS.
https://github.com/NVIDIAGameWorks/Streamline/issues/12 it appears that that image is false. Judging from the comments the images has been like that since march last year with no plugin from intel to be seen.
 
Well, they have not so Streamline can not be called a good option.
They just as well may not use DirectSR.

But right now we have a system where the UI is very messy where you have multiple options with all their own settings and sometimes it's not clear which settings affects what. Thats really confusing for the end user.
This won't change since the technologies behind the API will still be different.

Also sometimes the UI around the upscaling tech is buggy where switching between options just bugs out and disables upscaling al together, or it reverts to a previous settings. Even benchmarking sites have had errors in their results because of this.
Not something an API can fix.

Actually Nvidia already has a driver side update option for dlss since their 3.1 SDK.
No they don't since it's not "driver side", it's a built-in OTA updater inside the DLSS SDK.
From my leisure exploration of DLSS integrations post 3.1 all games I've seen seem to be blocking it. Which to me suggests that developers absolutely hate the idea of driver (or SDK) doing anything of the sorts.

GPU vendors have had game-specific compatibility settings for games for years, going so far as replacing shader code or even laying about GPU capabilities. So the experience and foundation from GPU vendors is there to support this.
This is something which is considered a bad practice rather universally so why would we want to implement it here?

I suspect that in the end they will have different versions of upscale tech in the driver and they will have a per game profile that assigns the best one.
Why? What is the benefit of this comparing to shipping said tech with the game?
Let's wait till we know more about DirectSR but I really doubt that it will be anything like what you're suggesting.
 
https://github.com/NVIDIAGameWorks/Streamline/issues/12 it appears that that image is false. Judging from the comments the images has been like that since march last year with no plugin from intel to be seen.
The main take is Intel is in full support of the initiative.
"Intel believes strongly in the power of open interfaces," said Andre Bremer, VP of AXG and director of game engineering at Intel. "We are excited to support Streamline, an open, cross-IHV framework for new graphics effects. This will simplify game developers’ integration efforts and accelerate the adoption of new technology."
 
Last edited:
The main take is Intel is in full support of the initiative.
Yes they said that and a year later they still didn't have support for Streamline it seams. And just looking at the code now, two years later I still don't see any indication of their plugin.
 
Yes they said that and a year later they still didn't have support for Streamline it seams. And just looking at the code now, two years later I still don't see any indication of their plugin.
Intel is fine with how developers are implementing Xess. Apparently they have 2 api (intel gpus and non intel gpus) and is easy to implement (like DLSS).
One thing you are forgetting is the whole Streamline idea (and DirectSR) is to make implementation easier for developers, so the sooner everyone gets on board the better for developers.

On the side, apparent MS is working on their own upscaling technique, so I guess it will be added to the mix as well.
While Frame Generation is a different tech, it looks like DirectSR will pave the way for Frame Generation support too in the future. Meanwhile, Microsoft is also working on its own AI-based Super Resolution technology for Windows known as AutoSR which can be enabled in the Windows OS and support games/apps while being hardware agnostic.
 
Last edited:
The main take is Intel is in full support of the initiative.
The main take should be that they're really not - if they were there surely would be something out by now especially how easy supporting it was supposed to be. The fact there isn't speaks more than thousand words about their support for it.
 
The main take should be that they're really not - if they were there "surely" would be something out by now especially how easy supporting it was supposed to be. The fact there isn't speaks more than thousand words about their support for it.
Possibly, though currently it just speaks that Intel currently has other "fish to fry" and is not a priority.
It would be helpful if you had a linked statement that "surely" states otherwise.
 
Microsoft just clarified what DirectSR means.

"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"


Nice! This is the best result IMO, if done well at least.

The big downside is that you can no longer choose to use fsr or xess on nvidia cards because the driver will only have implementation for the vendor specific upscaling technology.

Yes this would be a concern for me. What would happen for games like Avatar and Forsaken for example that only include FSR frame generation which is tied to FSR upscaling. Would that mean no frame generation for Nvidia users?

And I'm sure there are circumstances where AMD users would prefer to use XeSS over FSR.
 
Possibly, though currently it just speaks that Intel currently has other "fish to fry" and is not a priority.
It would be helpful if you had a linked statement that "surely" states otherwise.
It's been two years. Either all the talk about how easy it would be to support Streamline is BS or Intel isn't really supporting it, which of latter sounds more likely.
 
Streamline is "h/w agnostic" and also multiplatform.
Where do they say that Streamline is "multiplatform"? They rather label it "cross-IHV", and the requirements are Windows 10 version 2004 with DirectX 11/12. Vulkan is an API, not a platform.

https://github.com/NVIDIAGameWorks/Streamline/issues/12 it appears that that image is false. Judging from the comments the images has been like that since march last year with no plugin from intel to be seen.
Either all the talk about how easy it would be to support Streamline is BS or Intel isn't really supporting it, which of latter sounds more likely.
Or NVidia just found a clever way to lure game programmers to another NVidia proprietary solution. :mrgreen:
 
Where do they say that Streamline is "multiplatform"? It's rather "cross-IHV", and the requirements are Windows 10 version 2004 with DirectX 11/12. Vulkan is an API, not a platform.
It's open source. The Windows requirements are for building I believe.
 
Back
Top