NVIDIA's OpenGL 4.5 support was first made public with the 340.65 driver release on the same day as the OpenGL 4.5 specification from Khronos on August 11th. NVIDIA continues to provide full OpenGL 4.5 support in all our latest GPU driver releases that can be downloaded from http://www.nvidia.com/drivers. These drivers support OpenGL 4.5 on all supported hardware listed below as well as all new hardware.

OpenGL 4.5 Driver Release Notes

You will need any one of the following Fermi, Kepler or Maxwell based GPUs to get access to all the OpenGL 4.5 and GLSL 4.50 functionality:

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

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

These new ARB extensions are also provided:

These additional extensions are also provided:

The OpenGL 4.5 and GLSL 4.50 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.5 on NVIDIA Hardware FAQ

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

The default OpenGL context provides OpenGL 4.5 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.5, 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.5 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.5 specifications, one each for the Core and Compatibility profiles. For the OpenGL Shading Language version 4.50, 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.5 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. 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, Kepler or Maxwell GPU. Thus OpenGL 4 is not supported on G8x nor GT2xx hardware listed above. This means you need one of the following NVIDIA graphics accelerators to use OpenGL 4:

  • Quadro series:Quadro K6000, Quadro K5000, Quadro K4000, Quadro K2000, Quadro K2000D, Quadro K600, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410
  • GeForce 700 series: GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730
  • GeForce 600 series: GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605
  • GeForce 500 series: GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510
  • GeForce 400 series: GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420, GeForce 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?