Mesa State Tracker Adds FP64/INT64 Lowering For NIR Drivers
Written by Michael Larabel in Mesa on 3 March 2019 at 06:19 AM EST. 2 Comments
As a step towards getting the "soft" FP64 (and INT64) support working for Gallium3D OpenGL drivers, the Mesa state tracker has added FP64 / INT64 lowering support for the drivers utilizing NIR.

It was back in January that soft FP64/INT64 lowering was finally merged to Mesa and hooked in for the "classic" Intel Mesa driver. So far no other drivers besides i965 have been utilizing this software-based double-precision floating-point support.

This work is useful for GPUs lacking native FP64/INT64 capabilities or where their hardware implementation is slow. ARB_gpu_shader_fp64 is one of the requirements for OpenGL 4.0 although FP64 isn't common among games. This extension has been the main bottleneck for the Radeon R600g driver with various HD 5000/6000 series graphics cards lacking official OpenGL 4 support.

With this lowering for FP64/INT64, it "might be enough" for Gallium3D NIR drivers. It doesn't appear to have been tested yet with Intel's new Iris Gallium3D driver. As for the Radeon R600g driver, it doesn't have a NIR back-end yet but there is out-of-tree work in that direction. There's also other NIR Gallium3D drivers like Freedreno and VC4 though can't imagine FP64/INT64 lowering be too useful for practical use-cases there at this point.

This Mesa state tracker support for lowering FP64/INT64 for NIR drivers is in Git for next quarter's Mesa 19.1 release.
Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Popular News This Week