2d1216a039889cec8d8dbd994d4e50ed47d9692c
The previous two commits were just setting the scene for this change. The mix(..., __propagateFloat64NaN(a, b), propagate) statements are not identical in the two halves, but they are equivalent. The first clause of the mix in the else-branch is trivally ±Inf. The first clause in the then-branch __packFloat64(aSign, aExp, aFracHi, aFracLo). The preceeding conditions prove that aExp=0x7ff, aFracHi=0, and aFracLo=0. Results on the 308 shaders extracted from the fp64 portion of the OpenGL CTS: Tiger Lake and Ice Lake had similar results. (Tiger Lake shown) total instructions in shared programs: 819560 -> 787258 (-3.94%) instructions in affected programs: 757737 -> 725435 (-4.26%) helped: 74 HURT: 0 helped stats (abs) min: 43 max: 3545 x̄: 436.51 x̃: 296 helped stats (rel) min: 3.54% max: 6.16% x̄: 4.52% x̃: 4.36% 95% mean confidence interval for instructions value: -548.42 -324.61 95% mean confidence interval for instructions %-change: -4.68% -4.37% Instructions are helped. total cycles in shared programs: 6817254 -> 6483227 (-4.90%) cycles in affected programs: 6385272 -> 6051245 (-5.23%) helped: 74 HURT: 0 helped stats (abs) min: 430 max: 33271 x̄: 4513.88 x̃: 3047 helped stats (rel) min: 4.28% max: 7.45% x̄: 5.48% x̃: 5.31% 95% mean confidence interval for cycles value: -5610.46 -3417.30 95% mean confidence interval for cycles %-change: -5.65% -5.32% Cycles are helped. total spills in shared programs: 591 -> 553 (-6.43%) spills in affected programs: 591 -> 553 (-6.43%) helped: 1 HURT: 0 total fills in shared programs: 1353 -> 1307 (-3.40%) fills in affected programs: 1353 -> 1307 (-3.40%) helped: 1 HURT: 0 Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4142>
`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.html <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.html <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.html <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.html <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.
Description
Languages
C
75.5%
C++
17.2%
Python
2.7%
Rust
1.8%
Assembly
1.5%
Other
1%