 07 Mar, 2018 31 commits


Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
This requires us to rename any Vulkan API entrypoints which became core in 1.1 to no longer have the KHR suffix. Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
In this case, we say an entrypoint is supported if ANY of the extensions is supported. This is because, in the XML, entrypoints don't require extensions so much as extensions require entrypoints. Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
The original string map assumed that the mapping from strings to entrypoints was a bijection. This will not be true the moment we add entrypoint aliasing. This reworks things to be an arbitrary map from strings to nonnegative signed integers. The old one also had a potential bug if we ever had a hash collision because it didn't do the strcmp inside the lookup loop. While we're at it, we break things out into a helpful class. Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewedby: Dave Airlie <airlied@redhat.com>

Jason Ekstrand authored
Our previous handling of barriers always used the big hammer and didn't correctly emit memory barriers when specified along with a control barrier. This commit completely reworks the way we emit barriers to make things both more precise and more correct. Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Iago Toral Quiroga <itoral@igalia.com>

Jason Ekstrand authored
Reviewedby: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewedby: Iago Toral Quiroga <itoral@igalia.com>

Marek Olšák authored

Marek Olšák authored
The old function treats high values as negative, which LLVM interprets as 0.

Marek Olšák authored

Marek Olšák authored

Marek Olšák authored

Marek Olšák authored

Marek Olšák authored

Marek Olšák authored

Bas Nieuwenhuizen authored
A lot of it is based on intel again. Reviewedby: Dave Airlie <airlied@redhat.com>

Simon Hausmann authored
When looking up known glsl_type instances in the various hash tables, we end up leaking the key instances used for the lookup, as the glsl_type constructor allocates memory on the global mem_ctx. This patch changes glsl_type to manage its own memory, which fixes the leak and also allows getting rid of the global mem_ctx and its mutex. v2: remove lambda usage (Tapani) (+keep ASSERT_BITFIELD_SIZE, modify dummy ctor to initialize mem_ctx) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104884 Cc: mesastable@lists.freedesktop.org Signedoffby: Simon Hausmann <simon.hausmann@qt.io> Signedoffby: Tapani Pälli <tapani.palli@intel.com> Reviewedby: Emil Velikov <emil.velikov@collabora.com> Reviewedby: Kenneth Graunke <kenneth@whitecape.org>

Caio Marcelo de Oliveira Filho authored
This capability allows gl_ViewportIndex and gl_Layer to also be used as outputs in Vertex and Tesselation shaders. v2: Make conditional to the capability, add gl_Layer, add tesselation shaders. (Iago) v3: Don't export to tesselation control shader. v4: Add Reviewdby tag. Reviewedby: Iago Toral Quiroga <itoral@igalia.com>

maurossi authored
Fixes the following building errors: external/mesa/src/intel/vulkan/anv_device.c:300: error: undefined reference to 'gen_get_pci_device_id_override' external/mesa/src/intel/vulkan/anv_device.c:312: error: undefined reference to 'gen_get_device_name' external/mesa/src/intel/vulkan/anv_device.c:313: error: undefined reference to 'gen_get_device_info' clang.real: error: linker command failed with exit code 1 (use v to see invocation) Fixes: 272bef06 "intel: Split gen_device_info out into libintel_dev" Reviewedby: Tapani Pälli <tapani.palli@intel.com>

Timothy Arceri authored
This reverts commit 2d36efdb. This raised limit turns out to harmful for more complex shaders, it causes excessive spilling in some Bioshock Infinite shaders. The fps for the ssao demo on radv remains unchanged when reverting this. Reviewedby: Dave Airlie <airlied@redhat.com> Reviewedby: Samuel Pitoiset <samuel.pitoiset@gmail.com>

Dave Airlie authored
If it's zero but put it in args we still end up consuming a register for it. This fixes some spilling in the NIR paths in Dirt Rally that isn't seen with TGSI. Reviewedby: Timothy Arceri <tarceri@itsqueeze.com> Signedoffby: Dave Airlie <airlied@redhat.com>

 06 Mar, 2018 9 commits


Ian Romanick authored
All Gen7+ platforms had similar results. (Skylake shown) total instructions in shared programs: 14514555 > 14514547 (<.01%) instructions in affected programs: 1972 > 1964 (0.41%) helped: 8 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 0.39% max: 0.42% x̄: 0.41% x̃: 0.41% 95% mean confidence interval for instructions value: 1.00 1.00 95% mean confidence interval for instructions %change: 0.41% 0.40% Instructions are helped. total cycles in shared programs: 533141444 > 533136780 (<.01%) cycles in affected programs: 164728 > 160064 (2.83%) helped: 181 HURT: 3 helped stats (abs) min: 2 max: 94 x̄: 26.17 x̃: 30 helped stats (rel) min: 0.12% max: 5.33% x̄: 3.42% x̃: 3.80% HURT stats (abs) min: 4 max: 54 x̄: 24.00 x̃: 14 HURT stats (rel) min: 0.20% max: 2.39% x̄: 1.09% x̃: 0.68% 95% mean confidence interval for cycles value: 27.12 23.58 95% mean confidence interval for cycles %change: 3.54% 3.16% Cycles are helped. Sandy Bridge total instructions in shared programs: 10533667 > 10533539 (<.01%) instructions in affected programs: 10148 > 10020 (1.26%) helped: 124 HURT: 0 helped stats (abs) min: 1 max: 2 x̄: 1.03 x̃: 1 helped stats (rel) min: 0.39% max: 4.35% x̄: 2.20% x̃: 2.04% 95% mean confidence interval for instructions value: 1.06 1.00 95% mean confidence interval for instructions %change: 2.46% 1.95% Instructions are helped. total cycles in shared programs: 146136887 > 146132122 (<.01%) cycles in affected programs: 206382 > 201617 (2.31%) helped: 171 HURT: 0 helped stats (abs) min: 2 max: 40 x̄: 27.87 x̃: 30 helped stats (rel) min: 0.08% max: 5.73% x̄: 2.98% x̃: 2.67% 95% mean confidence interval for cycles value: 29.19 26.54 95% mean confidence interval for cycles %change: 3.20% 2.76% Cycles are helped. Iron Lake total instructions in shared programs: 7886515 > 7886507 (<.01%) instructions in affected programs: 3016 > 3008 (0.27%) helped: 8 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 0.25% max: 0.28% x̄: 0.27% x̃: 0.27% 95% mean confidence interval for instructions value: 1.00 1.00 95% mean confidence interval for instructions %change: 0.27% 0.26% Instructions are helped. total cycles in shared programs: 178100396 > 178100388 (<.01%) cycles in affected programs: 156128 > 156120 (<.01%) helped: 4 HURT: 4 helped stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4 helped stats (rel) min: 0.02% max: 0.04% x̄: 0.03% x̃: 0.03% HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 HURT stats (rel) min: <.01% max: 0.01% x̄: <.01% x̃: <.01% 95% mean confidence interval for cycles value: 3.68 1.68 95% mean confidence interval for cycles %change: 0.03% <.01% Inconclusive result (value mean confidence interval includes 0). GM45 total instructions in shared programs: 4857872 > 4857868 (<.01%) instructions in affected programs: 1544 > 1540 (0.26%) helped: 4 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 0.25% max: 0.27% x̄: 0.26% x̃: 0.26% 95% mean confidence interval for instructions value: 1.00 1.00 95% mean confidence interval for instructions %change: 0.28% 0.24% Instructions are helped. total cycles in shared programs: 122167654 > 122167662 (<.01%) cycles in affected programs: 96248 > 96256 (<.01%) helped: 0 HURT: 4 HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 HURT stats (rel) min: <.01% max: 0.01% x̄: <.01% x̃: <.01% 95% mean confidence interval for cycles value: 2.00 2.00 95% mean confidence interval for cycles %change: <.01% 0.02% Cycles are HURT. Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Ian Romanick authored
The replacement of the comparison operators must happen during this step. If it does not, the next pass of nir_opt_algebraic will reapply De Morgan's Law in the "opposite direction" before performing dead code elimination. The resulting infinite loop will eventually get OOM killed. Haswell, Broadwell, and Skylake had similar results. (Broadwell shown) total instructions in shared programs: 14808185 > 14808036 (<.01%) instructions in affected programs: 13758 > 13609 (1.08%) helped: 39 HURT: 0 helped stats (abs) min: 1 max: 10 x̄: 3.82 x̃: 3 helped stats (rel) min: 0.44% max: 1.55% x̄: 0.98% x̃: 1.01% 95% mean confidence interval for instructions value: 4.67 2.97 95% mean confidence interval for instructions %change: 1.09% 0.88% Instructions are helped. total cycles in shared programs: 559438333 > 559435832 (<.01%) cycles in affected programs: 199160 > 196659 (1.26%) helped: 42 HURT: 3 helped stats (abs) min: 2 max: 184 x̄: 61.50 x̃: 51 helped stats (rel) min: 0.02% max: 6.94% x̄: 1.41% x̃: 1.40% HURT stats (abs) min: 2 max: 40 x̄: 27.33 x̃: 40 HURT stats (rel) min: 0.05% max: 0.74% x̄: 0.51% x̃: 0.74% 95% mean confidence interval for cycles value: 71.47 39.69 95% mean confidence interval for cycles %change: 1.64% 0.93% Cycles are helped. Sandy Bridge and Ivy Bridge had similar results. (Ivy Bridge shown) total instructions in shared programs: 11811776 > 11811553 (<.01%) instructions in affected programs: 15201 > 14978 (1.47%) helped: 39 HURT: 0 helped stats (abs) min: 1 max: 20 x̄: 5.72 x̃: 6 helped stats (rel) min: 0.44% max: 2.53% x̄: 1.30% x̃: 1.26% 95% mean confidence interval for instructions value: 7.21 4.23 95% mean confidence interval for instructions %change: 1.48% 1.12% Instructions are helped. total cycles in shared programs: 257617270 > 257614589 (<.01%) cycles in affected programs: 212107 > 209426 (1.26%) helped: 45 HURT: 0 helped stats (abs) min: 2 max: 180 x̄: 59.58 x̃: 54 helped stats (rel) min: 0.02% max: 6.02% x̄: 1.30% x̃: 1.32% 95% mean confidence interval for cycles value: 74.02 45.14 95% mean confidence interval for cycles %change: 1.59% 1.01% Cycles are helped. Iron Lake total instructions in shared programs: 7886648 > 7886515 (<.01%) instructions in affected programs: 14106 > 13973 (0.94%) helped: 29 HURT: 0 helped stats (abs) min: 1 max: 10 x̄: 4.59 x̃: 4 helped stats (rel) min: 0.35% max: 1.83% x̄: 0.90% x̃: 0.81% 95% mean confidence interval for instructions value: 5.65 3.52 95% mean confidence interval for instructions %change: 1.03% 0.76% Instructions are helped. total cycles in shared programs: 178100812 > 178100396 (<.01%) cycles in affected programs: 67970 > 67554 (0.61%) helped: 29 HURT: 0 helped stats (abs) min: 2 max: 40 x̄: 14.34 x̃: 12 helped stats (rel) min: 0.15% max: 1.69% x̄: 0.58% x̃: 0.54% 95% mean confidence interval for cycles value: 18.30 10.39 95% mean confidence interval for cycles %change: 0.71% 0.45% Cycles are helped. GM45 total instructions in shared programs: 4857939 > 4857872 (<.01%) instructions in affected programs: 7426 > 7359 (0.90%) helped: 15 HURT: 0 helped stats (abs) min: 1 max: 10 x̄: 4.47 x̃: 4 helped stats (rel) min: 0.33% max: 1.80% x̄: 0.87% x̃: 0.77% 95% mean confidence interval for instructions value: 6.06 2.87 95% mean confidence interval for instructions %change: 1.06% 0.67% Instructions are helped. total cycles in shared programs: 122167930 > 122167654 (<.01%) cycles in affected programs: 43118 > 42842 (0.64%) helped: 15 HURT: 0 helped stats (abs) min: 4 max: 40 x̄: 18.40 x̃: 16 helped stats (rel) min: 0.15% max: 1.69% x̄: 0.62% x̃: 0.54% 95% mean confidence interval for cycles value: 25.03 11.77 95% mean confidence interval for cycles %change: 0.82% 0.41% Cycles are helped. Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Ian Romanick authored
All of the affected shaders are HDR mappers from Serious Sam 3. All Gen7+ platforms had similar results. (Skylake shown) total instructions in shared programs: 14516285 > 14516273 (<.01%) instructions in affected programs: 348 > 336 (3.45%) helped: 12 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 2.08% max: 6.67% x̄: 4.31% x̃: 4.17% 95% mean confidence interval for instructions value: 1.00 1.00 95% mean confidence interval for instructions %change: 5.55% 3.06% Instructions are helped. total cycles in shared programs: 533163876 > 533163808 (<.01%) cycles in affected programs: 1144 > 1076 (5.94%) helped: 4 HURT: 0 helped stats (abs) min: 16 max: 18 x̄: 17.00 x̃: 17 helped stats (rel) min: 5.80% max: 6.08% x̄: 5.94% x̃: 5.94% 95% mean confidence interval for cycles value: 18.84 15.16 95% mean confidence interval for cycles %change: 6.20% 5.68% Cycles are helped. Sandy Bridge total instructions in shared programs: 10533321 > 10533309 (<.01%) instructions in affected programs: 372 > 360 (3.23%) helped: 12 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 2.00% max: 5.88% x̄: 3.91% x̃: 3.85% 95% mean confidence interval for instructions value: 1.00 1.00 95% mean confidence interval for instructions %change: 4.96% 2.86% Instructions are helped. total cycles in shared programs: 146136632 > 146136428 (<.01%) cycles in affected programs: 11668 > 11464 (1.75%) helped: 12 HURT: 0 helped stats (abs) min: 16 max: 18 x̄: 17.00 x̃: 17 helped stats (rel) min: 0.99% max: 3.44% x̄: 2.20% x̃: 2.29% 95% mean confidence interval for cycles value: 17.66 16.34 95% mean confidence interval for cycles %change: 2.82% 1.58% Cycles are helped. Iron Lake total instructions in shared programs: 7886301 > 7886277 (<.01%) instructions in affected programs: 576 > 552 (4.17%) helped: 12 HURT: 0 helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 helped stats (rel) min: 2.94% max: 6.06% x̄: 4.51% x̃: 4.65% 95% mean confidence interval for instructions value: 2.00 2.00 95% mean confidence interval for instructions %change: 5.30% 3.72% Instructions are helped. total cycles in shared programs: 178113176 > 178113176 (0.00%) cycles in affected programs: 2116 > 2116 (0.00%) helped: 2 HURT: 4 helped stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4 helped stats (rel) min: 1.14% max: 1.14% x̄: 1.14% x̃: 1.14% HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 HURT stats (rel) min: 0.50% max: 0.65% x̄: 0.58% x̃: 0.58% 95% mean confidence interval for cycles value: 3.25 3.25 95% mean confidence interval for cycles %change: 0.93% 0.94% Inconclusive result (value mean confidence interval includes 0). GM45 total instructions in shared programs: 4857756 > 4857744 (<.01%) instructions in affected programs: 294 > 282 (4.08%) helped: 6 HURT: 0 helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 helped stats (rel) min: 2.94% max: 5.71% x̄: 4.40% x̃: 4.55% 95% mean confidence interval for instructions value: 2.00 2.00 95% mean confidence interval for instructions %change: 5.71% 3.09% Instructions are helped. total cycles in shared programs: 122178730 > 122178722 (<.01%) cycles in affected programs: 700 > 692 (1.14%) helped: 2 HURT: 0 Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Ian Romanick authored
All platforms had similar results. (Skylake shown) total instructions in shared programs: 14516592 > 14516586 (<.01%) instructions in affected programs: 500 > 494 (1.20%) helped: 2 HURT: 0 total cycles in shared programs: 533167044 > 533166998 (<.01%) cycles in affected programs: 6988 > 6942 (0.66%) helped: 2 HURT: 0 Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Ian Romanick authored
I noticed the fge version while looking at a shader for an unrelated reason. The feq version prevents a regression in a later change that performs strength reduction of some compares. Broadwell and Skylake had similar results. (Skylake shown) total instructions in shared programs: 14514808 > 14514796 (<.01%) instructions in affected programs: 750 > 738 (1.60%) helped: 4 HURT: 0 helped stats (abs) min: 1 max: 5 x̄: 3.00 x̃: 3 helped stats (rel) min: 0.83% max: 1.96% x̄: 1.40% x̃: 1.40% 95% mean confidence interval for instructions value: 6.67 0.67 95% mean confidence interval for instructions %change: 2.43% 0.36% Inconclusive result (value mean confidence interval includes 0). total cycles in shared programs: 533144939 > 533144853 (<.01%) cycles in affected programs: 8911 > 8825 (0.97%) helped: 4 HURT: 0 helped stats (abs) min: 16 max: 32 x̄: 21.50 x̃: 19 helped stats (rel) min: 0.60% max: 1.89% x̄: 1.28% x̃: 1.31% 95% mean confidence interval for cycles value: 32.94 10.06 95% mean confidence interval for cycles %change: 2.30% 0.26% Cycles are helped. Haswell total instructions in shared programs: 13093785 > 13093775 (<.01%) instructions in affected programs: 924 > 914 (1.08%) helped: 4 HURT: 2 helped stats (abs) min: 1 max: 5 x̄: 3.00 x̃: 3 helped stats (rel) min: 0.82% max: 1.95% x̄: 1.39% x̃: 1.39% HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 HURT stats (rel) min: 1.19% max: 1.19% x̄: 1.19% x̃: 1.19% 95% mean confidence interval for instructions value: 4.53 1.20 95% mean confidence interval for instructions %change: 2.02% 0.97% Inconclusive result (value mean confidence interval includes 0). total cycles in shared programs: 409580553 > 409580118 (<.01%) cycles in affected programs: 10909 > 10474 (3.99%) helped: 5 HURT: 1 helped stats (abs) min: 6 max: 222 x̄: 89.60 x̃: 18 helped stats (rel) min: 0.16% max: 24.72% x̄: 9.54% x̃: 1.78% HURT stats (abs) min: 13 max: 13 x̄: 13.00 x̃: 13 HURT stats (rel) min: 0.39% max: 0.39% x̄: 0.39% x̃: 0.39% 95% mean confidence interval for cycles value: 180.68 35.68 95% mean confidence interval for cycles %change: 19.55% 3.79% Inconclusive result (value mean confidence interval includes 0). Ivy Bridge total instructions in shared programs: 11811851 > 11811840 (<.01%) instructions in affected programs: 1032 > 1021 (1.07%) helped: 5 HURT: 1 helped stats (abs) min: 1 max: 5 x̄: 2.40 x̃: 1 helped stats (rel) min: 0.63% max: 1.95% x̄: 1.13% x̃: 0.97% HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 HURT stats (rel) min: 1.19% max: 1.19% x̄: 1.19% x̃: 1.19% 95% mean confidence interval for instructions value: 4.17 0.51 95% mean confidence interval for instructions %change: 1.86% 0.36% Inconclusive result (value mean confidence interval includes 0). total cycles in shared programs: 257618403 > 257618168 (<.01%) cycles in affected programs: 10784 > 10549 (2.18%) helped: 4 HURT: 2 helped stats (abs) min: 4 max: 220 x̄: 64.50 x̃: 17 helped stats (rel) min: 0.50% max: 24.34% x̄: 7.07% x̃: 1.72% HURT stats (abs) min: 9 max: 14 x̄: 11.50 x̃: 11 HURT stats (rel) min: 0.24% max: 0.42% x̄: 0.33% x̃: 0.33% 95% mean confidence interval for cycles value: 133.11 54.78 95% mean confidence interval for cycles %change: 14.79% 5.59% Inconclusive result (value mean confidence interval includes 0). GM45, Iron Lake, and Sandy Bridge had similar results. (Sandy Bridge shown) total instructions in shared programs: 10533871 > 10533859 (<.01%) instructions in affected programs: 865 > 853 (1.39%) helped: 4 HURT: 0 helped stats (abs) min: 1 max: 5 x̄: 3.00 x̃: 3 helped stats (rel) min: 0.63% max: 1.83% x̄: 1.22% x̃: 1.21% 95% mean confidence interval for instructions value: 6.67 0.67 95% mean confidence interval for instructions %change: 2.16% 0.29% Inconclusive result (value mean confidence interval includes 0). total cycles in shared programs: 146139904 > 146139852 (<.01%) cycles in affected programs: 15213 > 15161 (0.34%) helped: 4 HURT: 0 helped stats (abs) min: 3 max: 18 x̄: 13.00 x̃: 15 helped stats (rel) min: 0.15% max: 0.84% x̄: 0.39% x̃: 0.29% 95% mean confidence interval for cycles value: 23.79 2.21 95% mean confidence interval for cycles %change: 0.88% 0.09% Inconclusive result (%change mean confidence interval includes 0). Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Samuel Iglesias Gonsálvez <siglesias@igalia.com>

Ian Romanick authored
These transformations are inexact because section 4.7.1 (Range and Precision) says: Operations and builtin functions that operate on a NaN are not required to return a NaN as the result. The fmin or fmax might not return NaN in cases where the original expression would be required to return NaN. Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Jason Ekstrand <jason@jlekstrand.net>

Ian Romanick authored
This transformation is inexact because section 4.7.1 (Range and Precision) says: Operations and builtin functions that operate on a NaN are not required to return a NaN as the result. The fmin or fmax might not return NaN in cases where the original expression would be required to return NaN. v2: Reorder operands and mark as inexact. The latter suggested by Jason. shaderdb results: Haswell, Broadwell, and Skylake had similar results. (Skylake shown) total instructions in shared programs: 14514817 > 14514808 (<.01%) instructions in affected programs: 229 > 220 (3.93%) helped: 3 HURT: 0 helped stats (abs) min: 1 max: 4 x̄: 3.00 x̃: 4 helped stats (rel) min: 2.86% max: 4.12% x̄: 3.70% x̃: 4.12% total cycles in shared programs: 533145211 > 533144939 (<.01%) cycles in affected programs: 37268 > 36996 (0.73%) helped: 8 HURT: 0 helped stats (abs) min: 2 max: 134 x̄: 34.00 x̃: 2 helped stats (rel) min: 0.02% max: 14.22% x̄: 3.53% x̃: 0.05% Sandy Bridge and Ivy Bridge had similar results. (Ivy Bridge shown) total cycles in shared programs: 257618409 > 257618403 (<.01%) cycles in affected programs: 12582 > 12576 (0.05%) helped: 3 HURT: 0 helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 helped stats (rel) min: 0.05% max: 0.05% x̄: 0.05% x̃: 0.05% No changes on Iron Lake or GM45. Signedoffby: Ian Romanick <ian.d.romanick@intel.com> Reviewedby: Jason Ekstrand <jason@jlekstrand.net>

Gurkirpal Singh authored
Example Gstreamer pipeline : MESA_ENABLE_OMX_EGLIMAGE=1 GST_GL_API=gles2 GST_GL_PLATFORM=egl gstlaunch1.0 filesrc location=movie.mp4 ! qtdemux ! h264parse ! omxh264dec ! glimagesink Ackedby: Leo Liu <leo.liu@amd.com> Reviewedby: Julien Isorce <julien.isorce@gmail.com>

Gurkirpal Singh authored
v2: Refactor out screen functions to st/omx Example Gstreamer pipeline : gstlaunch1.0 filesrc location=movie.mp4 ! qtdemux ! h264parse ! avdec_h264 ! videoconvert ! omxh264enc ! h264parse ! avdec_h264 ! videoconvert ! ximagesink Ackedby: Leo Liu <leo.liu@amd.com> Reviewedby: Julien Isorce <julien.isorce@gmail.com>
