Skip to content

Draft: gallium: respect Hint.FragmentShaderDerivative on NIR drivers

Erik Faye-Lund requested to merge kusma/mesa:st-lower-fddx-fddy-precision into main

OpenGL has a glHint called GL_FRAGMENT_SHADER_DERIVATIVE_HINT that lets applications indicate if they want fine or coarse derivatives. Until now, i965 is the only driver in Mesa to respect this hint.

This MR adds a generic Gallium implementation for NIR based drivers that lowers fddx and fddy to their fine and coarse variants when the PIPE_CAP_TGSI_FS_FINE_DERIVATIVE-cap is supported.

This came up when comparing rendering-results with Zink on NVIDIA with the proprietary NVIDIA driver, which respects this hint.

This is only compile-tested so far, waiting for @graphitemaster to test it.

Merge request reports