[Mesa-dev] Upstream support for GL_EXT_gpu_shader4 and GL_EXT_blend_func_extended on Gen4/Gen5 Intel GMA

Wladislav Artsimovich mailinglist at frost.kiwi
Sun May 9 18:36:28 UTC 2021


Dear Mesa-dev team,

thanks to the high level magic of Jason Ekstrand ( and my complaining^^ 
), the extensions "GL_EXT_gpu_shader4" and "GL_ARB_blend_func_extended" 
were made available for Gen4 and Gen5 GMA graphics adapters in Mesa 
branch "wip/gen4-gpu-shader4" ( 
https://gitlab.freedesktop.org/jekstrand/mesa/-/tree/wip/gen4-gpu-shader4 ).

I tested these extensions by generating fullscreen quads with 
gl_VertexID and with Timothy Lottes's NVidia FXAA 3.11, which covers 
various aspects of gpu_shader4. blend_func_extended was tested by 
slightly changing and running the terminal emulator alacritty, which 
makes use of GL_ARB_blend_func_extended to improve subpixel text 
rendering. All seems to work fine.

It would be great if these changes could be merged upstream.
One obstacle for that, is that the mesa testing suite "piglit" could not 
be configured to perform tests for GL_EXT_gpu_shader4 for these chips, 
because the tests for GL_EXT_gpu_shader4 would not run without the 
prerequisite of OpenGL 3+. At least that's how I understand it. I 
imagine pushing this upstream would not be greenlit, if the tests don't 
work...

Why upstream this?
There is still a sizeable chunk of user on these platforms, especially 
in the libreboot crowd. The GM45 chipset with it's GMA 4500 MHD is found 
in still popular Laptops, like the Lenovo Thinkpad x200 and T400.
However, these chips are limited to OpenGL 2.1 and many a piece of 
software requires OpenGL 3.3 for a variety of reasons. As a result, 
there are a lot of complaints to be found, where seemingly basic 
software does not run on GM45/GMA4500. As per usual these pieces of 
Software don't require the full OpenGL 3.3 support, but only essential 
extensions.
"GL_EXT_gpu_shader4", "GL_ARB_blend_func_extended" and 
"GL_ARB_explicit_attrib_location" are such essential pieces, which are 
core to OpenGL 3+, but are not part of OpenGL 2.1. By making 
GL_EXT_gpu_shader4 and GL_EXT_blend_func_extended available, a lot of 
people could be made happy, as this would allow a wider array of 
software to run on Gen4/Gen5 Intel iGPUs.

Best regards,

Vlad



More information about the mesa-dev mailing list