cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

nirei
Journeyman III

Bug Report: "GL_ARB_conservative_depth" is not supported

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 https://github.com/geringsj/minimal_rendering.git 
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.

Regards,

Sergej Geringer

Visualization Research Center (VISUS)

University of Stuttgart

0 Likes
1 Reply
dorisyan
Staff

Hi @nirei ! Thanks for your report, we will invistigate it soon.  

0 Likes