NVIDIA's OpenGL 4.4 support was first made available with the 326.29 driver released on the same day as the OpenGL 4.4 specification from Khronos on July 22nd, 2013. NVIDIA continues to provide full OpenGL 4.4 support in all our latest GPU driver releases that can be downloaded from http://www.nvidia.com/drivers. These drivers support OpenGL 4.4 on all supported hardware listed below as well as all new hardware.

OpenGL 4.4 Driver Release Notes

You will need any one of the following Fermi or Kepler based GPUs to get access to all the OpenGL 4.4 and GLSL 4.40 functionality:

  • Quadro series: K6000, K5000, K4000, K2000D, K2000, K600, 6000, 600, 5000, 410, 4000, 400, 2000D, 2000
  • GeForce 700 series: GTX TITAN, GTX 780, GTX 770, GTX 760
  • GeForce 600 series: GTX 690, GTX 680, GTX 670, GTX 660 Ti, GTX 660, GTX 650 Ti BOOST, GTX 650 Ti, GTX 650, GT 645, GT 640, GT 630, GT 620, GT 610, 605
  • GeForce 500 series: GTX 590, GTX 580, GTX 570, GTX 560 Ti, GTX 560 SE, GTX 560, GTX 555, GTX 550 Ti, GT 545, GT 530, GT 520, 510
  • GeForce 400 series: GTX 480, GTX 470, GTX 465, GTX 460 v2, GTX 460 SE v2, GTX 460 SE, GTX 460, GTS 450, GT 440, GT 430, GT 420

The extensions listed below are part of the OpenGL 4.4 core specification, but they can also be used in contexts below OpenGL 4.4 on supported hardware:

For OpenGL 4 capable hardware:

For OpenGL 3 capable hardware:

These new ARB extensions are provided:

For GeForce 6xx and above capable hardware:

For OpenGL 4 capable hardware:

These new NV extensions are provided:

The OpenGL 4.4 and GLSL 4.40 specifications, and all ARB extension specifications, can be downloaded here: http://www.opengl.org/registry/

For any bugs or issues, please file a bug through the developer website: https://developer.nvidia.com/

OpenGL 4.4 on NVIDIA Hardware FAQ

How do I start using OpenGL 4.4 in my code base?

The default OpenGL context provides OpenGL 4.4 on supported hardware. In addition, the application can use a specific version of OpenGL by calling CreateContextAttribsARB (for WGL and GLX defined in the WGL/GLX_ARB_create_context extensions). For OpenGL 3.2, and later versions including OpenGL 4.4, you can additionally specify what profile you want the OpenGL context to support. Either the "Core" or the "Compatibility" profile.

I hear about deprecation and removing functionality from OpenGL. What is going on?

Together with OpenGL 3.0, the OpenGL ARB introduced a deprecation mechanism. Deprecation means that a feature is marked for removal from a future version of the OpenGL spec. It is not actually removed yet from OpenGL 3.0, but this means that future versions of OpenGL will remove features. Several features are marked as deprecated in the OpenGL 3.0 specification (but none are removed).

The OpenGL 3.1 specification removed those features that were marked as deprecated in OpenGL 3.0. However, the OpenGL ARB has recognized that there is a need to provide both new functionality in future versions of OpenGL, and still support the removed functionality. To support that market need, the ARB_compatibility extension has been created. This single extension encapsulates all the removed functionality, and re-introduces that back into core OpenGL 3.1. The entry points and tokens in this extension have not changed. No "ARB" suffix has been attached, for example. Implementation of the ARB_compatibility extension is optional. Some OpenGL vendors might choose not to implement it. NVIDIA does support this extension across all its OpenGL 3 capable offerings. This means that if the ARB_compatibility extension name is present in the OpenGL extension string, that the OpenGL implementation supports a fully backwards compatible OpenGL 3.1.

Starting with OpenGL 3.2, the OpenGL ARB has introduced two profiles. The "Core" profile and the "Compatibility" profile. A profile is a well-defined subset of the OpenGL specification. The "Core" profile builds on top of OpenGL 3.1 (without ARB_compatibility). The Core profile does not support any deprecated features. The Compatibility profile builds on top of OpenGL 3.1 including ARB_compatibility. The Compatibility profile has full support for all features, including the deprecated ones. Both profiles are available in our OpenGL 4.4 drivers.

NVIDIA recommends that developers always create a Compatibility profile context, to ensure full backwards compatibility of existing OpenGL code.

The OpenGL ARB provides two OpenGL 4.4 specifications, one each for the Core and Compatibility profiles. For the OpenGL Shading Language version 4.40, the OpenGL ARB provides only one document, with the Compatibility profile functionality integrated and clearly marked. These three specification documents can be downloaded from http://www.opengl.org/registry/.

What about the "old" context creation API, WGL/GLXCreateContext. Can I still use it?

Yes. However, if you are writing new code we strongly recommend you use the new CreateContextAttribsARB API described in the WGL/GLX_ARB_create_context extension. The "old" CreateContext API will still function, and it will create an OpenGL 4.4 Compatibility profile.

Is NVIDIA going to remove functionality from OpenGL in the future?

NVIDIA has no interest in removing any feature from OpenGL that our ISVs rely on. NVIDIA believes in providing maximum functionality with minimal churn to developers. Hence, NVIDIA fully supports the ARB_compatibility extension and Compatibility profile, and is shipping OpenGL drivers without any functionality removed, including any functionality that is marked deprecated.

Will existing applications still work on current and future shipping hardware?

NVIDIA has no plans for dropping support for any version of OpenGL on our existing and future shipping hardware. As a result, all currently shipping applications will continue to work on NVIDIA's existing and future hardware.

What NVIDIA hardware will support OpenGL 3?

The new features in OpenGL 3 require G80, or newer hardware. Thus OpenGL 3.0/3.1/3.2/3.3 is not supported on NV3x, NV4x nor G7x hardware. This means you need one of the following NVIDIA graphics accelerators to use OpenGL 3:

Desktop

  • GeForce 300 series: GT 340, GT 330, GT 320, 315, 310
  • GeForce 200 series: GTX 295, GTX 285, GTX 280, GTX 275, GTX 260, GTS 250, GTS 240, GT 240, GT 230, GT 220, G210, 210, 205
  • GeForce 100 series: GT 140, GT 130, GT 120, G 100
  • GeForce 9 series: 9800 GX2, 9800 GTX/GTX+, 9800 GT, 9600 GT, 9600 GSO, 9600 GS, 9500 GT, 9500 GS, 9400 GT, 9400, 9300 GS, 9300 GE, 9300, 9200, 9100
  • GeForce 8 series: 8800 Ultra, 8800 GTX, 8800 GTS 512, 8800 GTS, 8800 GT, 8800 GS, 8600 GTS, 8600 GT, 8600 GS, 8500 GT, 8400 SE, 8400 GS, 8400, 8300 GS, 8300, 8200 / nForce 730a, 8200, 8100 / nForce 720a
  • ION series: ION LE, ION

Workstation

  • NVS Series: NVS 310, NVS 300
  • Quadro FX series: FX 5800, FX 580, FX 570, FX 5600, FX 4800, FX 4700 X2, FX 4600, FX 4500 X2, FX 380 Low Profile, FX 3800, FX 380, FX 370 Low Profile, FX 3700, FX 370, FX 1800, FX 1700, CX
  • Quadro NVS series: NVS 450, NVS 440, NVS 420, NVS 295, NVS 290
  • Quadro Plex series: S Series, Model IV, Model II, D Series, 7000
  • Quadro G-Sync series: G-Sync II, G-Sync I
  • C-Class Processors: Tesla C2075, Tesla C2070, Tesla C2050, Tesla C1060
  • M-Class Processors :Tesla M2090, Tesla M2075, Tesla M2070-Q, Tesla M2070, Tesla M2050, Tesla M1060
  • S-Class Systems: Tesla S2050
  • Quadro Blade/Embedded Graphics Board series: Quadro NVS 120M, Quadro FX 880M, Quadro FX 770M, Quadro FX 560M, Quadro FX 370M, Quadro FX 3600M, Quadro FX 2800M, Quadro FX 1600M, Quadro 500M, Quadro 4000M, Quadro 3000M, Quadro 1000M

What NVIDIA hardware will support OpenGL 4?

The new features in OpenGL 4 require a Fermi GPU. Thus OpenGL 4 is not supported on NV3x, NV4x, G7x, G8x nor GT2xx hardware. This means you need one of the following NVIDIA graphics accelerators to use OpenGL 4:

  • Quadro series: K6000, K5000, K4000, K2000D, K2000, K600, 6000, 600, 5000, 410, 4000, 400, 2000D, 2000
  • GeForce 700 series:GTX TITAN, GTX 780, GTX 770, GTX 760
  • GeForce 600 series:GTX 690, GTX 680, GTX 670, GT 645, GT 640, GT 630, GT 620, GT 610, 605
  • GeForce 500 series:GTX 590, GTX 580, GTX 570, GTX 560 Ti, GTX 560 SE, GTX 560, GTX 555, GTX 550 Ti, GT 545, GT 530, GT 520, 510
  • GeForce 400 series:GTX 480, GTX 470, GTX 465, GTX 460 v2, GTX 460 SE v2, GTX 460 SE, GTX 460, GTS 450, GT 440, GT 430, GT 420, 405

Will functionality marked as deprecated be slow on NVIDIA hardware?

No. NVIDIA understands that features on the deprecated list are critical to the business of a large part of our customer base. NVIDIA will provide full performance, and will support, tune, and fix any issues, for any feature on the deprecated list. This means that all the functionality in the ARB_compatibility extension and Compatibility profile will continue to operate at maximum performance.

Want to Learn More?