Hardware specifics: NVidia

From OpenGL Wiki
Jump to: navigation, search

Current issues

These are known issues for current Nvidia hardware/drivers.

GLSL shader conformance

Early Nvidia GLSL implementations are known to be quite accepting of features of other shading languages like Cg. This has lead to problems when developers using Nvidia cards unknowingly use these features which cause shader compile errors on other hardware.

The classic problem case is using vec3(1,1,1) instead of vec3(1.0, 1.0, 1.0) as GLSL (as of version 1.1) does not do automatic type promotion, but Nvidia allows it.

Newer drivers from Nvidia (80+ series) seem to emit warnings when features are used that are non-conformant.

According to the "Nvidia OpenGL Shading Language Release Notes" for shaders containing an explicit #version statement those Nvidia extensions to GLSL should be disabled and proper compile errors should be generated.

KHR_debug min filter inconsistent with mipmaps

You may receive a message such as "Texture state usage warning: Waste of memory: Texture 4 has mipmaps, while its min filter is inconsistent with mipmaps." when using KHR_debug, for textures even if you do not use mipmaps. This is because you did not specify glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0); before glTexImage2D, which Nvidia uses as the hint to allocate with mipmaps. Specify that, and the warning spam will cease. Or instead use glTexStorage2D and specify a level of 0 there.

Legacy issues

These issues may affect older drivers/hardware

Multicore CPU and Driver Issue

This is one thread about the issue and you can find more with a search on the forums