AnsweredAssumed Answered

Bug Report: "GL_ARB_conservative_depth" is not supported

Question asked by nirei on Dec 6, 2019
Latest reply on Dec 20, 2019 by dorisyan

When using AMD Graphics Hardware, fragment shaders fail to compile when using the GL_ARB_conservative_depth extension although the extension is advertised as supported by the driver.


I encounter this error on Radeon Pro SSG (on Radeon Pro Software Enterprise Edition 19.Q3.1) and Radeon VII (on Adrenalin 2019 19.4.1).


A small example application producing the error can be found on GitHub - geringsj/minimal_rendering at amd_conservative_depth .


When cloning the git repository make sure to also initialise git submodules of the project and to use the amd_conservative_depth branch. You can use CMake to produce a Visual Studio Solution file.


git clone --recursive 
git checkout amd_conservative_depth

** run CMake via command line or GUI to produce VS solution **
cd minimal_rendering
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" ..


The resulting rendering.exe executable is a small OpenGL program that starts an OpenGL 4.6 Core context and compiles a shader that uses GL_ARB_conservative_depth. Running this pogram results in the following output.


$ cd minimal_rendering/build/Debug/
$ ./rendering.exe
GL_ARB_conservative_depth is available via GLAD.
GL_ARB_conservative_depth is available via GLFW.
Building shaders.

[OpenGL Error] glCompileShader failed to compile a GLSL shader with the following shader info log: 'Fragment shader failed to compile with the following errors:
ERROR: 0:3: error(#61) Required extension is not found. Extension "GL_ARB_conservative_depth" is not supported
ERROR: error(#273) 1 compilation errors. No code generated

[OpenGL Error] glLinkProgram failed to link a GLSL program with the following program info log: 'Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed.
Error compiling or linking shaders. Abort.


The error happens both on a OpenGL Core and Compatilbility Profile.


Replacing GL_ARB_conservative_depth with GL_AMD_conservative_depth in the shader fixes the compiler error. However, in our software we would like to use the GL_ARB extension name that is a Core Extensions since OpenGL 4.2 (see History of OpenGL - OpenGL Wiki )


I am attaching Radeon driver information of the machines that I tested the example on.



Sergej Geringer


Visualization Research Center (VISUS)

University of Stuttgart