855ffa7c46
With the idea of branching classic device support in to its own tree now would be a good time to also raise the minimum requirements to something that is more "modern" on x86. SSE2 was introduced in 2000(!) by default let's make it the minimum spec now All the old hardware that is moving to the maintenance branch will finally be out of the way. For the 64-bit side of the discussion there isn't much changed. * GCC already enables -msse and -msse2 by default * Same with clang * fpmath=sse might remove some extraneous x87 usage ** Clang implies fpmath=sse ALWAYS For the 32-bit side of things is where the exciting details change * GCC by default doesn't enable sse1 or sse2 ** Does all `float`, `double`, and `long double` math with x87 ** -msse2 enables sse2 and sse1, gcc still uses x87 even with those enabled ** -mfpmath=sse moves away from using x87 and instead uses sse1 and sse2 * Clang already default enables sse1/sse2 which then turns on their implied fpmath=sse What does this mean for users? On Linux raises the default minimum processor spec to SSE2 supporting CPUs * Intel requirements raise from P5 (1993) to Netburst (2000) * AMD requirements raise from Athlon(1999/2000) to Athlon 64 (2003) * Via requirements raise from C3(2001) to C7 (2005) What does it mean for package maintainers? For x86-64 distributions that have i386/i686 multilib, then nothing changes. You're already on a platform guaranteed to support SSE2. For i386/i686 distributions they will need to weigh their min spec against this. Not sure how many still support classic processors. Who is left out in the cold? * Intel Quark (2013) ** Embedded board, doesn't have a GPU, Technically has 1x PCIe 2.0 lane that someone could plug a GPU in to * Some older transmeta CPUs, but they had a followup that also had SSE2. ** Anyone hacking on these with a modern GPU? I'm guessing they know how to turn this option off Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9868> |
||
---|---|---|
.gitlab/issue_templates | ||
.gitlab-ci | ||
bin | ||
build-support | ||
docs | ||
include | ||
src | ||
subprojects | ||
.dir-locals.el | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
.mailmap | ||
.travis.yml | ||
Android.common.mk | ||
Android.mk | ||
CleanSpec.mk | ||
README.rst | ||
REVIEWERS | ||
VERSION | ||
meson.build | ||
meson_options.txt |
README.rst
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_): .. code-block:: sh $ mkdir build $ cd build $ meson .. $ sudo ninja install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `Freenode's #dri-devel <irc://chat.freenode.net#dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.