Next-Gen OpenGL To Be Shown Off Next Month

Started by
69 comments, last by Promit 9 years, 2 months ago
Anandtech has up some early DX12 performance benchmarks vs Mantle; http://anandtech.com/show/8962/the-directx-12-performance-preview-amd-nvidia-star-swarm.

TLDR version; DX12 is basically as fast as Mantle (2 or 3 fps slower on the GPU, 4 or 5ms slower on the CPU) and destroys DX11 both in terms of FPS and CPU time to submit.

So, the next OpenGL version has a target for the implementations.
Advertisement

Considering that DX12 is still in alpha (EAP) and the drivers status are.. welll, everyone could imagine how current drivers are.... I can only say: not bad.

EDIT: AnandTech should NOT have such info like current drivers and information about feature levels :| I waited months to sign the NDA :|

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

TLDR version; DX12 is basically as fast as Mantle (2 or 3 fps slower on the GPU, 4 or 5ms slower on the CPU) and destroys DX11 both in terms of FPS and CPU time to submit.

Hm, so D3D12 will only work on Windows 10, not even 8.1.

I wonder how much deattached from the world Khronos people are, but right now it looks just like Windows Vista and D3D10 days, they have another chance of bringing a cool API that can work on most OS installs right now. I really hope they're seeing it.

Good thing now is that they don't have the "OpenGL won't work on Windows" thing to deal with right now biggrin.png

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

They had three options:

- Add WDDM 2.0 to Windows 7/8/8.1 -> really expansive for Microsoft, quite cheap for HIVs;

- Add Direct3D 12 support for WDDM 1.x -> less expansive, but the API will not act like with WDDM 2.0, HIVs had to write drivers for two different driver models;

- Forget about WDDM 1.x OSs -> no additional costs for both Microsoft and HIVs;

Starting with Vista, Microsoft decided to integrate DirectX graphics into the OS (GUI rendering with DWM, video encoding etc.), and the driver model become strictly related to the kernel. So they obtain both a technical and an economical excuse to not upgrade DirectX for previous versions of the OS (Windows Vista was the only big exception, it gains Direct3D 11, WDDM 1.1 and DXGI 1.1, however DWM didn't take any advantage of WDDM 1.1 and DXGI 1.1).

1 year of free upgrade is a good move, Vista licenses were the most expensive licenes of a commercial OS ever seen (600£$€ for Windows Vista Ultimate full reatail!), a lot of people did not upgrade from XP to Vista due hardware requirements of Vista, due bad reputation and FUD (did everyone forget the "palladium" FUD tragicomedy?).

Also, keep in mind that most gamers do not have any problem to pirate the OS, so if they want to upgrade to Windows 10 after the free upgrade period, they will do it.

Finally, I expect that WDDM 2.0 will bring benefits to Mantle and OpenGLNext too. ;)

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

Considering that DX12 is still in alpha (EAP) and the drivers status are.. welll, everyone could imagine how current drivers are.... I can only say: not bad.

EDIT: AnandTech should NOT have such info like current drivers and information about feature levels :| I waited months to sign the NDA :|

The feature levels stuff is effectively public knowledge by now - you just need to run dxdiag on the latest Windows 10 preview to see them.

IMO this is one of the most interesting parts, and it's relevant to discussion of GL Next too. I wonder how much of D3D12's performance gains come out on lower feature levels? Because if D3D12 can also bring the kind of higher performance reported in that article to D3D10 and 11 class hardware, that's going to set a bar for the ARB: GL Next absolutely cannot have a requirement for the newest hardware only otherwise it's going to have a rocky first few years in the PC/Windows space.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

Considering that DX12 is still in alpha (EAP) and the drivers status are.. welll, everyone could imagine how current drivers are.... I can only say: not bad.

EDIT: AnandTech should NOT have such info like current drivers and information about feature levels :| I waited months to sign the NDA :|


The feature levels stuff is effectively public knowledge by now - you just need to run dxdiag on the latest Windows 10 preview to see them.

IMO this is one of the most interesting parts, and it's relevant to discussion of GL Next too. I wonder how much of D3D12's performance gains come out on lower feature levels? Because if D3D12 can also bring the kind of higher performance reported in that article to D3D10 and 11 class hardware, that's going to set a bar for the ARB: GL Next absolutely cannot have a requirement for the newest hardware only otherwise it's going to have a rocky first few years in the PC/Windows space.


I did not think about DXDIAG, but D3D12 drivers are not available to public.
For PCs, if you look at the supported GPUs, they are all FL11 (Fermi, Kepler) or FL11.1 (Maxwell, GCN, Haswell), there are no SM 4.x GPUs, so there is no reason to support feature level 10.x and 9.x on Windows 10 for PCs. For low-level hardware we must wait what Qualcomm will do: actual Windows Phone devices are all equipped with Adreno 300 series (feature level 9.3), only future devices will be feature level 11.1 (Adreno 400 series).
D3D12 is much about programming capabilities, so the new rendering features will be "probably" just an option.
Should OpenGL Next support SM 4.x/3/2 GPUs? I do not think this is a big deal for PCs. Of course, if we talk about mobile (which means current OpenGL ES devices) support for low level hardware is a must, especially if ARB is going to unify OpenGL and OpenGL ES (but I do not know if this is going to happen, the ARB seems to be not so much clever ^_^').
"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

They had three options:

- Add WDDM 2.0 to Windows 7/8/8.1 -> really expansive for Microsoft, quite cheap for HIVs;

- Add Direct3D 12 support for WDDM 1.x -> less expansive, but the API will not act like with WDDM 2.0, HIVs had to write drivers for two different driver models;

- Forget about WDDM 1.x OSs -> no additional costs for both Microsoft and HIVs;

Starting with Vista, Microsoft decided to integrate DirectX graphics into the OS (GUI rendering with DWM, video encoding etc.), and the driver model become strictly related to the kernel. So they obtain both a technical and an economical excuse to not upgrade DirectX for previous versions of the OS (Windows Vista was the only big exception, it gains Direct3D 11, WDDM 1.1 and DXGI 1.1, however DWM didn't take any advantage of WDDM 1.1 and DXGI 1.1).

1 year of free upgrade is a good move, Vista licenses were the most expensive licenes of a commercial OS ever seen (600£$€ for Windows Vista Ultimate full reatail!), a lot of people did not upgrade from XP to Vista due hardware requirements of Vista, due bad reputation and FUD (did everyone forget the "palladium" FUD tragicomedy?).

Also, keep in mind that most gamers do not have any problem to pirate the OS, so if they want to upgrade to Windows 10 after the free upgrade period, they will do it.

Finally, I expect that WDDM 2.0 will bring benefits to Mantle and OpenGLNext too. ;)

I wonder how expensive DirectX 12 support for WDDM 1.2 really is. I suspect very little, because already AMD have to support Mantle on Windows 7, 8.1 and 10 and it's not a problem.

Mantle however doesn't have to use the WDDM to do the work; it can bypass it for the most part and talk 'directly' to the hardware.
Much the same way that, some time ago, OpenAL on Creative cards didn't have to talk to DirectSound; it went directly to their drivers and thus on to the hardware.

Different software stack basically smile.png

Mantle however doesn't have to use the WDDM to do the work; it can bypass it for the most part and talk 'directly' to the hardware.
Much the same way that, some time ago, OpenAL on Creative cards didn't have to talk to DirectSound; it went directly to their drivers and thus on to the hardware.

Different software stack basically smile.png

Ok, I didn't know that. But still I find it hard to believe that Mantle can do backward compatibility and DirectX can't. The WDDM thing sounds like a technical limitation that Microsoft created for themselves.

In theory only DXGI should be dependent on the WDDM version and D3D itself should be independently implementable; see https://msdn.microsoft.com/en-us/library/bb205075.aspx for example:

Microsoft DirectX Graphics Infrastructure (DXGI) recognizes that some parts of graphics evolve more slowly than others. The primary goal of DXGI is to manage low-level tasks that can be independent of the DirectX graphics runtime.

In practice that hasn't quite worked out, and a new D3D version equates to a new WDDM version, meaning a new DXGI version inbetween. The table at http://en.wikipedia.org/wiki/Windows_Display_Driver_Model#WDDM_1.0 is quite telling and the explicit intention of splitting off DXGI has obviously failed; whether that be for solid technical reasons or on account of something else, I don't know and won't comment. Either way, the current architecture doesn't really reflect the reality of how the APIs are related and interdependent.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

This topic is closed to new replies.

Advertisement