NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
OpenGL ES 2.x/3.x Specs and Extensions

OpenGL ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems, including consoles, phones, appliances, and vehicles.

It consists of well-defined subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration. OpenGL ES 2.X and OpenGL ES 3.X enables full programmable 3D graphics.

NVIDIA DRIVE™ product supports the OpenGL ES 2 and 3 specifications, which you can find at the below locations.

Note
OpenGL ES 3 support is preliminary, pending passage of official conformance tests, which have not yet been released by Khronos.

Click the HERE links below to view the document bundled here with this release, or click the URL link to go to the latest version on the Web.

Note
The new extension documents included in this package (included HERE with no URL link), rather than being linked from Khronos, have not passed a final review and may change before the final release.
Attention
Some NVIDIA DRIVE™ releases support a subset of the extensions documented here. To ensure your release supports a given extension, you must query the driver. For example, the following code snippet determines whether the driver supports the GL_EXT_texture_filter_anisotropic OpenGL ES extension:
The following example determines whether the GL_EXT_texture_filter_anisotropic
OpenGL extension is available.
// Create an OpenGL or OpenGL ES context before you
// call this function.
extensionString = (const char*)glGetString(GL_EXTENSIONS);
if (strstr(extensionString,
    "GL_EXT_texture_filter_anisotropic")) {
    // The extension is available. Do something with it.
}
else {
    // The extension is not available.
    // Use a workaround that produces results that are similar
    // to the OpenGL ES extension.
}

OpenGL ES 3.2

OpenGL ES 3.1

OpenGL ES 3.0

OpenGL ES 2.0

Implementation Notes

The eglCreateContext function automatically promotes requests for an OpenGL ES 2 or 3 context to an OpenGL ES 3.1 one. OpenGL ES 3 is backward compatible with OpenGL ES 2.

Some OpenGL ES 2 extensions supported on Tegra 3 family of processors are now part of the core OpenGL ES 3.1 specification. Instead of using these extensions, use the core functionality available in the specification. For more information, see the "OpenGL ES Porting Guide" topic in the "Graphics Guide" chapter in the Development Guide.

There are some OpenGL ES 2.0 extensions that are supported on the NVIDIA® Tegra® 3 family of processors that are unsupported on the NVIDIA® Tegra® K1 (32 Bit) family of processors. For a list of those unsupported extensions and work-around advice, see the "OpenGL ES Porting Guide" topic in the "Graphics Guide" chapter in the Development Guide.

Note
Because OpenGL ES documentation on some extensions is currently unavailable, some documentation links take you to OpenGL documentation. Those extensions are indicated with a note below. Support for those extensions is very similar to that defined in the full OpenGL documentation for those extensions, with appropriate limitations for OpenGL ES.

OpenGL ES Extensions

The OpenGL ES driver in this release supports the following OpenGL ES extensions.

Note
The new extension documents included in this package (included HERE with no URL link), rather than being linked from Khronos, have not passed a final review and may change before the final release.