mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-15 04:10:35 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
These are useful for displaying very high color precision images with more than 10 bpc color depth, and also more precision than what fp16 can do on a standard dynamic range (SDR) display, where fp16 for values in the unorm 0.0 - 1.0 range is about equivalent to at most ~11 bpc linear color depth. This is especially useful for and aimed at scientific applications, e.g., neuroscience and other bio-medical research cases. At least current generation AMD gpu's released during the last 10 years and supported by amdgpu-kms + atomic modesetting do allow for scanout of such 16 bpc framebuffers and of up to 12 bpc output to suitable HDMI or DisplayPort high precision displays. We gate the format behind a new driconf option 'allow_rgb16_configs', which defaults to true, but allows to disable the formats if any issues should arise. Most regular applications won't need the high display precision of these new 16 bpc 64 bpp formats which have higher memory and bandwidth requirements, and therefore a potential undesired performance impact for regular apps. Followup per-platform enablement commits will use the EGL_EXT_config_select_group extension to put these 16 bpc unorm formats into a lower priority config select group 1, so they don't get preferably chosen by default by eglChooseConfig(), but must be explicitely requested by client applications which really need the high color precision of these 64 bpp formats and are happy to pay the potential performance impact. Thanks to Adam Jackson for pointing me to the EGL_EXT_config_select_group extension. If the format would be put into the default config select group 0, a simple EGL eglChooseConfig() call would end up choosing these formats, which is not what such regular apps would want. Tested to not cause any change on native X11/EGL and X11/GLX, which only supports at most 30 bpc / 32 bpp formats. Followup commits will enable these formats for the EGL/Wayland backend, and on the EGL/DRM backend. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38588> |
||
|---|---|---|
| .ci-farms | ||
| .ci-farms-disabled | ||
| .github/workflows | ||
| .gitlab | ||
| .gitlab-ci | ||
| .marge/hooks | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| licenses | ||
| src | ||
| subprojects | ||
| .clang-format-ignore | ||
| .clang-format-include | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .graphqlrc.yml | ||
| .mailmap | ||
| .mr-label-maker.yml | ||
| .shellcheckrc | ||
| clippy.toml | ||
| CODEOWNERS | ||
| meson.build | ||
| meson.options | ||
| README.rst | ||
| rustfmt.toml | ||
| VERSION | ||
`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://docs.mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://docs.mesa3d.org/meson.html>`_): .. code-block:: sh $ meson setup build $ ninja -C build/ $ sudo ninja -C build/ install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.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://docs.mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://docs.mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.