Intel's Gallium3D OpenGL Driver Taps Another Optimization - ~32% For GFXBench
Intel's new OpenGL Linux driver, their Gallium3D-based "Iris" implementation that is aiming to be the default before year's end, continues making striking progress.
Just this past week when testing the very latest Mesa code for this Intel Gallium3D driver I was quite impressed with it near universally being faster than their existing "i965" Mesa driver. For some OpenGL workloads, this Gallium3D driver is significantly faster than the driver it's set to replace for Broadwell "Gen 8" graphics and newer.
But as we've seen over the past several weeks, the optimization work isn't letting up. They are on a "mission to get [Intel's] Linux graphics stack fully optimized" with the optimizations we've seen even in just the past few weeks.
Hitting Mesa 19.3's development Git tree a few minutes ago was their latest optimization work. Unlike some of the optimizations that are more forward-looking with changes to benefit Icelake/Gen11 graphics and beyond, today's work is another improvement that benefits existing Intel graphics hardware on Gallium3D.
The change by Iris lead developer Kenneth Graunke is over avoiding uploading SURFACE_STATE descriptors for UBOs. Avoiding the surface state descriptors for OpenGL uniform buffer objects is done to reduce the overhead with that descriptor data being redundant. Ken found that this enhances one of the GFXBench5 test cases by around 32% on a Skylake Core i7 6770HQ setup.
If all goes well, the Mesa 19.3 release due out in December will hopefully be enabling this Gallium3D driver by default. Frankly from my own experiences with it, the driver has been terrific and already past the quality of i965 classic on the hardware I've tested and my various workloads.
Just this past week when testing the very latest Mesa code for this Intel Gallium3D driver I was quite impressed with it near universally being faster than their existing "i965" Mesa driver. For some OpenGL workloads, this Gallium3D driver is significantly faster than the driver it's set to replace for Broadwell "Gen 8" graphics and newer.
But as we've seen over the past several weeks, the optimization work isn't letting up. They are on a "mission to get [Intel's] Linux graphics stack fully optimized" with the optimizations we've seen even in just the past few weeks.
Hitting Mesa 19.3's development Git tree a few minutes ago was their latest optimization work. Unlike some of the optimizations that are more forward-looking with changes to benefit Icelake/Gen11 graphics and beyond, today's work is another improvement that benefits existing Intel graphics hardware on Gallium3D.
The change by Iris lead developer Kenneth Graunke is over avoiding uploading SURFACE_STATE descriptors for UBOs. Avoiding the surface state descriptors for OpenGL uniform buffer objects is done to reduce the overhead with that descriptor data being redundant. Ken found that this enhances one of the GFXBench5 test cases by around 32% on a Skylake Core i7 6770HQ setup.
If all goes well, the Mesa 19.3 release due out in December will hopefully be enabling this Gallium3D driver by default. Frankly from my own experiences with it, the driver has been terrific and already past the quality of i965 classic on the hardware I've tested and my various workloads.
5 Comments