[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