Ian Romanick
c658b6c4c8
nir: Transform expressions of b2f(a) and b2f(b) to a ^^ b
...
All Gen platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14276892 -> 14276886 (<.01%)
instructions in affected programs: 484 -> 478 (-1.24%)
helped: 2
HURT: 0
total cycles in shared programs: 532578397 -> 532578395 (<.01%)
cycles in affected programs: 3522 -> 3520 (-0.06%)
helped: 1
HURT: 0
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
3aca80aabc
nir: Transform expressions of b2f(a) and b2f(b) to !(a && b)
...
All Gen platforms had pretty similar results. (Skylake shown)
total cycles in shared programs: 532578400 -> 532578397 (<.01%)
cycles in affected programs: 2784 -> 2781 (-0.11%)
helped: 1
HURT: 1
helped stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4
helped stats (rel) min: 0.26% max: 0.26% x̄: 0.26% x̃: 0.26%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.08% max: 0.08% x̄: 0.08% x̃: 0.08%
v2: s/fmax/fmin/. Noticed by Thomas Helland.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
1713c97181
nir: Transform expressions of b2f(a) and b2f(b) to a && b
...
No changes on any Gen platform.
v2: s/fmax/fmin/. Noticed by Thomas Helland.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
4425f4786a
nir: Transform expressions of b2f(a) and b2f(b) to !(a || b)
...
All Gen6+ platforms had similar results. (Skylake shown)
total instructions in shared programs: 14276961 -> 14276892 (<.01%)
instructions in affected programs: 3215 -> 3146 (-2.15%)
helped: 28
HURT: 0
helped stats (abs) min: 1 max: 6 x̄: 2.46 x̃: 2
helped stats (rel) min: 0.47% max: 9.52% x̄: 4.34% x̃: 1.92%
95% mean confidence interval for instructions value: -2.87 -2.06
95% mean confidence interval for instructions %-change: -5.73% -2.95%
Instructions are helped.
total cycles in shared programs: 532577068 -> 532578400 (<.01%)
cycles in affected programs: 121864 -> 123196 (1.09%)
helped: 35
HURT: 30
helped stats (abs) min: 2 max: 268 x̄: 42.34 x̃: 22
helped stats (rel) min: 0.12% max: 12.14% x̄: 3.22% x̃: 1.86%
HURT stats (abs) min: 2 max: 246 x̄: 93.80 x̃: 36
HURT stats (rel) min: 0.09% max: 13.63% x̄: 4.47% x̃: 2.58%
95% mean confidence interval for cycles value: -5.02 46.01
95% mean confidence interval for cycles %-change: -0.99% 1.65%
Inconclusive result (value mean confidence interval includes 0).
Iron Lake and GM45 had similar results. (Iron Lake shown)
total instructions in shared programs: 7781299 -> 7781342 (<.01%)
instructions in affected programs: 22300 -> 22343 (0.19%)
helped: 13
HURT: 40
helped stats (abs) min: 2 max: 3 x̄: 2.85 x̃: 3
helped stats (rel) min: 1.15% max: 7.69% x̄: 3.72% x̃: 3.33%
HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel) min: 0.26% max: 1.30% x̄: 0.47% x̃: 0.43%
95% mean confidence interval for instructions value: 0.23 1.39
95% mean confidence interval for instructions %-change: -1.18% 0.07%
Inconclusive result (%-change mean confidence interval includes 0).
total cycles in shared programs: 177878928 -> 177879332 (<.01%)
cycles in affected programs: 383298 -> 383702 (0.11%)
helped: 7
HURT: 43
helped stats (abs) min: 2 max: 18 x̄: 10.00 x̃: 10
helped stats (rel) min: 0.17% max: 4.81% x̄: 2.62% x̃: 3.40%
HURT stats (abs) min: 2 max: 38 x̄: 11.02 x̃: 12
HURT stats (rel) min: 0.08% max: 1.54% x̄: 0.25% x̃: 0.09%
95% mean confidence interval for cycles value: 5.21 10.95
95% mean confidence interval for cycles %-change: -0.51% 0.21%
Inconclusive result (%-change mean confidence interval includes 0).
v2: s/fmin/fmax/. Noticed by Thomas Helland.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
6b3670ae80
nir: Transform -fabs(a) >= 0 to a == 0
...
All Gen platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14276964 -> 14276961 (<.01%)
instructions in affected programs: 411 -> 408 (-0.73%)
helped: 3
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.47% max: 1.96% x̄: 1.04% x̃: 0.68%
total cycles in shared programs: 532577062 -> 532577068 (<.01%)
cycles in affected programs: 1093 -> 1099 (0.55%)
helped: 1
HURT: 1
helped stats (abs) min: 16 max: 16 x̄: 16.00 x̃: 16
helped stats (rel) min: 7.77% max: 7.77% x̄: 7.77% x̃: 7.77%
HURT stats (abs) min: 22 max: 22 x̄: 22.00 x̃: 22
HURT stats (rel) min: 2.48% max: 2.48% x̄: 2.48% x̃: 2.48%
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
46e7c340d4
nir: Transform expressions of b2f(a) and b2f(b) to a || b
...
All Gen6+ platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14277184 -> 14276964 (<.01%)
instructions in affected programs: 10082 -> 9862 (-2.18%)
helped: 37
HURT: 1
helped stats (abs) min: 1 max: 30 x̄: 5.97 x̃: 4
helped stats (rel) min: 0.14% max: 16.00% x̄: 5.23% x̃: 2.04%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.70% max: 0.70% x̄: 0.70% x̃: 0.70%
95% mean confidence interval for instructions value: -7.87 -3.71
95% mean confidence interval for instructions %-change: -6.98% -3.16%
Instructions are helped.
total cycles in shared programs: 532577990 -> 532577062 (<.01%)
cycles in affected programs: 170959 -> 170031 (-0.54%)
helped: 33
HURT: 9
helped stats (abs) min: 2 max: 120 x̄: 30.91 x̃: 30
helped stats (rel) min: 0.02% max: 7.65% x̄: 2.66% x̃: 1.13%
HURT stats (abs) min: 2 max: 24 x̄: 10.22 x̃: 8
HURT stats (rel) min: 0.09% max: 1.79% x̄: 0.61% x̃: 0.22%
95% mean confidence interval for cycles value: -31.23 -12.96
95% mean confidence interval for cycles %-change: -2.90% -1.02%
Cycles are helped.
Iron Lake and GM45 had similar results. (Iron Lake shown)
total instructions in shared programs: 7781539 -> 7781301 (<.01%)
instructions in affected programs: 10169 -> 9931 (-2.34%)
helped: 32
HURT: 0
helped stats (abs) min: 2 max: 20 x̄: 7.44 x̃: 6
helped stats (rel) min: 0.47% max: 17.02% x̄: 4.03% x̃: 1.88%
95% mean confidence interval for instructions value: -9.53 -5.34
95% mean confidence interval for instructions %-change: -5.94% -2.12%
Instructions are helped.
total cycles in shared programs: 177878590 -> 177878932 (<.01%)
cycles in affected programs: 78706 -> 79048 (0.43%)
helped: 7
HURT: 21
helped stats (abs) min: 6 max: 34 x̄: 24.57 x̃: 28
helped stats (rel) min: 0.15% max: 8.33% x̄: 4.66% x̃: 6.37%
HURT stats (abs) min: 2 max: 86 x̄: 24.48 x̃: 22
HURT stats (rel) min: 0.01% max: 4.28% x̄: 1.21% x̃: 0.70%
95% mean confidence interval for cycles value: 0.30 24.13
95% mean confidence interval for cycles %-change: -1.52% 1.01%
Inconclusive result (%-change mean confidence interval includes 0).
v2: s/fmin/fmax/. Noticed by Thomas Helland.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
be7d3ba34a
nir: Transform -fabs(a) < 0 to a != 0
...
Unlike the much older -abs(a) >= 0.0 transformation, this is not
precise. The behavior changes if a is NaN.
All Gen platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14277216 -> 14277184 (<.01%)
instructions in affected programs: 2300 -> 2268 (-1.39%)
helped: 8
HURT: 0
helped stats (abs) min: 1 max: 8 x̄: 4.00 x̃: 3
helped stats (rel) min: 0.48% max: 15.15% x̄: 4.41% x̃: 1.01%
95% mean confidence interval for instructions value: -6.45 -1.55
95% mean confidence interval for instructions %-change: -9.96% 1.13%
Inconclusive result (%-change mean confidence interval includes 0).
total cycles in shared programs: 532577848 -> 532577990 (<.01%)
cycles in affected programs: 17486 -> 17628 (0.81%)
helped: 2
HURT: 5
helped stats (abs) min: 2 max: 6 x̄: 4.00 x̃: 4
helped stats (rel) min: 0.06% max: 1.81% x̄: 0.93% x̃: 0.93%
HURT stats (abs) min: 6 max: 50 x̄: 30.00 x̃: 26
HURT stats (rel) min: 0.55% max: 2.17% x̄: 1.19% x̃: 1.02%
95% mean confidence interval for cycles value: -1.06 41.63
95% mean confidence interval for cycles %-change: -0.58% 1.74%
Inconclusive result (value mean confidence interval includes 0).
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
d49eab2757
nir: Rearrange bcsel with two bcsel sources
...
All Gen platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14277220 -> 14277216 (<.01%)
instructions in affected programs: 422 -> 418 (-0.95%)
helped: 2
HURT: 0
total cycles in shared programs: 532577908 -> 532577848 (<.01%)
cycles in affected programs: 2800 -> 2740 (-2.14%)
helped: 2
HURT: 0
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
b92fded6eb
nir: Collapse more repeated bcsels on the same argument
...
All Gen platforms had pretty similar results. (Skylake shown)
total instructions in shared programs: 14277230 -> 14277220 (<.01%)
instructions in affected programs: 751 -> 741 (-1.33%)
helped: 4
HURT: 0
helped stats (abs) min: 2 max: 3 x̄: 2.50 x̃: 2
helped stats (rel) min: 1.23% max: 1.40% x̄: 1.32% x̃: 1.32%
95% mean confidence interval for instructions value: -3.42 -1.58
95% mean confidence interval for instructions %-change: -1.47% -1.17%
Instructions are helped.
total cycles in shared programs: 532577947 -> 532577908 (<.01%)
cycles in affected programs: 10641 -> 10602 (-0.37%)
helped: 4
HURT: 3
helped stats (abs) min: 1 max: 40 x̄: 13.75 x̃: 7
helped stats (rel) min: 0.11% max: 3.08% x̄: 1.10% x̃: 0.60%
HURT stats (abs) min: 2 max: 8 x̄: 5.33 x̃: 6
HURT stats (rel) min: 0.13% max: 0.55% x̄: 0.30% x̃: 0.23%
95% mean confidence interval for cycles value: -20.69 9.55
95% mean confidence interval for cycles %-change: -1.63% 0.63%
Inconclusive result (value mean confidence interval includes 0).
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
2018-08-04 01:12:03 -07:00
Ian Romanick
408330ed48
nir: Don't compare i2f or u2i with zero
...
Broadwell and Skylake had similar results. (Skylake shown)
total instructions in shared programs: 14277620 -> 14277230 (<.01%)
instructions in affected programs: 36905 -> 36515 (-1.06%)
helped: 101
HURT: 6
helped stats (abs) min: 1 max: 6 x̄: 4.46 x̃: 6
helped stats (rel) min: 0.32% max: 7.69% x̄: 1.80% x̃: 1.51%
HURT stats (abs) min: 1 max: 28 x̄: 10.00 x̃: 1
HURT stats (rel) min: 0.33% max: 1.74% x̄: 0.68% x̃: 0.47%
95% mean confidence interval for instructions value: -4.59 -2.70
95% mean confidence interval for instructions %-change: -1.90% -1.41%
Instructions are helped.
total cycles in shared programs: 532580716 -> 532577947 (<.01%)
cycles in affected programs: 940575 -> 937806 (-0.29%)
helped: 92
HURT: 12
helped stats (abs) min: 2 max: 158 x̄: 51.04 x̃: 62
helped stats (rel) min: 0.24% max: 3.99% x̄: 2.14% x̃: 2.41%
HURT stats (abs) min: 10 max: 1112 x̄: 160.58 x̃: 63
HURT stats (rel) min: 0.06% max: 21.90% x̄: 4.22% x̃: 0.20%
95% mean confidence interval for cycles value: -50.66 -2.59
95% mean confidence interval for cycles %-change: -2.09% -0.73%
Cycles are helped.
total spills in shared programs: 8116 -> 8124 (0.10%)
spills in affected programs: 200 -> 208 (4.00%)
helped: 0
HURT: 2
total fills in shared programs: 11086 -> 11094 (0.07%)
fills in affected programs: 436 -> 444 (1.83%)
helped: 0
HURT: 2
Ivy Bridge and Haswell had similar results. (Haswell shown)
total instructions in shared programs: 12979054 -> 12978067 (<.01%)
instructions in affected programs: 33633 -> 32646 (-2.93%)
helped: 120
HURT: 2
helped stats (abs) min: 1 max: 13 x̄: 8.53 x̃: 13
helped stats (rel) min: 0.30% max: 16.67% x̄: 4.55% x̃: 3.17%
HURT stats (abs) min: 18 max: 18 x̄: 18.00 x̃: 18
HURT stats (rel) min: 1.15% max: 2.84% x̄: 2.00% x̃: 2.00%
95% mean confidence interval for instructions value: -9.19 -6.99
95% mean confidence interval for instructions %-change: -5.27% -3.62%
Instructions are helped.
total cycles in shared programs: 411212880 -> 411199636 (<.01%)
cycles in affected programs: 696441 -> 683197 (-1.90%)
helped: 107
HURT: 5
helped stats (abs) min: 2 max: 864 x̄: 124.90 x̃: 146
helped stats (rel) min: 0.03% max: 29.20% x̄: 8.58% x̃: 5.88%
HURT stats (abs) min: 2 max: 50 x̄: 24.00 x̃: 22
HURT stats (rel) min: 0.01% max: 5.35% x̄: 1.29% x̃: 0.25%
95% mean confidence interval for cycles value: -136.96 -99.54
95% mean confidence interval for cycles %-change: -9.75% -6.53%
Cycles are helped.
total spills in shared programs: 78623 -> 78631 (0.01%)
spills in affected programs: 66 -> 74 (12.12%)
helped: 0
HURT: 2
total fills in shared programs: 80104 -> 80108 (<.01%)
fills in affected programs: 133 -> 137 (3.01%)
helped: 0
HURT: 2
No changes on Sandy Bridge, Iron Lake, or GM45.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
a3845616a2
nir: Remove f2i(i2f(x)) conversions
...
Broadwell and Skylake had similar results. (Skylake shown)
total instructions in shared programs: 14277978 -> 14277620 (<.01%)
instructions in affected programs: 36957 -> 36599 (-0.97%)
helped: 76
HURT: 1
helped stats (abs) min: 2 max: 90 x̄: 4.89 x̃: 4
helped stats (rel) min: 0.44% max: 5.88% x̄: 1.04% x̃: 0.87%
HURT stats (abs) min: 14 max: 14 x̄: 14.00 x̃: 14
HURT stats (rel) min: 0.36% max: 0.36% x̄: 0.36% x̃: 0.36%
95% mean confidence interval for instructions value: -7.06 -2.24
95% mean confidence interval for instructions %-change: -1.28% -0.77%
Instructions are helped.
total cycles in shared programs: 532584581 -> 532580716 (<.01%)
cycles in affected programs: 973591 -> 969726 (-0.40%)
helped: 76
HURT: 1
helped stats (abs) min: 2 max: 9940 x̄: 159.80 x̃: 32
helped stats (rel) min: <.01% max: 8.70% x̄: 1.15% x̃: 1.19%
HURT stats (abs) min: 8280 max: 8280 x̄: 8280.00 x̃: 8280
HURT stats (rel) min: 2.10% max: 2.10% x̄: 2.10% x̃: 2.10%
95% mean confidence interval for cycles value: -386.98 286.59
95% mean confidence interval for cycles %-change: -1.41% -0.81%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 8127 -> 8116 (-0.14%)
spills in affected programs: 108 -> 97 (-10.19%)
helped: 1
HURT: 0
total fills in shared programs: 11090 -> 11086 (-0.04%)
fills in affected programs: 440 -> 436 (-0.91%)
helped: 1
HURT: 1
Haswell
total instructions in shared programs: 12979174 -> 12979054 (<.01%)
instructions in affected programs: 9040 -> 8920 (-1.33%)
helped: 14
HURT: 1
helped stats (abs) min: 2 max: 34 x̄: 8.79 x̃: 6
helped stats (rel) min: 0.41% max: 7.04% x̄: 2.66% x̃: 1.14%
HURT stats (abs) min: 3 max: 3 x̄: 3.00 x̃: 3
HURT stats (rel) min: 0.19% max: 0.19% x̄: 0.19% x̃: 0.19%
95% mean confidence interval for instructions value: -13.58 -2.42
95% mean confidence interval for instructions %-change: -3.94% -1.01%
Instructions are helped.
total cycles in shared programs: 411227148 -> 411212880 (<.01%)
cycles in affected programs: 630506 -> 616238 (-2.26%)
helped: 15
HURT: 0
helped stats (abs) min: 2 max: 11192 x̄: 951.20 x̃: 38
helped stats (rel) min: <.01% max: 16.01% x̄: 3.92% x̃: 0.17%
95% mean confidence interval for cycles value: -2544.28 641.88
95% mean confidence interval for cycles %-change: -6.89% -0.94%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 78626 -> 78623 (<.01%)
spills in affected programs: 42 -> 39 (-7.14%)
helped: 1
HURT: 0
total fills in shared programs: 80111 -> 80104 (<.01%)
fills in affected programs: 140 -> 133 (-5.00%)
helped: 1
HURT: 1
Ivy Bridge
total instructions in shared programs: 11684101 -> 11684030 (<.01%)
instructions in affected programs: 3080 -> 3009 (-2.31%)
helped: 4
HURT: 1
helped stats (abs) min: 5 max: 59 x̄: 18.50 x̃: 5
helped stats (rel) min: 6.47% max: 7.04% x̄: 6.87% x̃: 6.99%
HURT stats (abs) min: 3 max: 3 x̄: 3.00 x̃: 3
HURT stats (rel) min: 0.15% max: 0.15% x̄: 0.15% x̃: 0.15%
95% mean confidence interval for instructions value: -45.59 17.19
95% mean confidence interval for instructions %-change: -9.38% -1.56%
Inconclusive result (value mean confidence interval includes 0).
total cycles in shared programs: 258407697 -> 258389653 (<.01%)
cycles in affected programs: 328323 -> 310279 (-5.50%)
helped: 5
HURT: 0
helped stats (abs) min: 32 max: 14908 x̄: 3608.80 x̃: 32
helped stats (rel) min: 1.26% max: 17.22% x̄: 9.30% x̃: 10.60%
95% mean confidence interval for cycles value: -11616.71 4399.11
95% mean confidence interval for cycles %-change: -16.56% -2.03%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 4537 -> 4528 (-0.20%)
spills in affected programs: 64 -> 55 (-14.06%)
helped: 1
HURT: 0
total fills in shared programs: 4823 -> 4815 (-0.17%)
fills in affected programs: 189 -> 181 (-4.23%)
helped: 1
HURT: 1
Sandy Bridge
total instructions in shared programs: 10488464 -> 10488449 (<.01%)
instructions in affected programs: 272 -> 257 (-5.51%)
helped: 3
HURT: 0
helped stats (abs) min: 5 max: 5 x̄: 5.00 x̃: 5
helped stats (rel) min: 5.49% max: 5.56% x̄: 5.51% x̃: 5.49%
total cycles in shared programs: 150263359 -> 150263263 (<.01%)
cycles in affected programs: 7978 -> 7882 (-1.20%)
helped: 3
HURT: 0
helped stats (abs) min: 32 max: 32 x̄: 32.00 x̃: 32
helped stats (rel) min: 1.15% max: 1.23% x̄: 1.20% x̃: 1.23%
No changes on Iron Lake or GM45.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Ian Romanick
ea6c276436
nir: Mark the 0.0 < abs(a) transformation as imprecise
...
Unlike the much older -abs(a) >= 0.0 transformation, this is not
precise. The behavior changes if the source is NaN.
No shader-db changes on any platform.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2018-08-04 01:12:03 -07:00
Marek Olšák
4bad50ded9
radeonsi: cosmetic changes
2018-08-04 03:10:30 -04:00
Marek Olšák
6508b93d78
st/mesa: expose & set limits for AMD_framebuffer_multisample_advanced
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:47:58 -04:00
Marek Olšák
7f587b57f7
st/mesa: add renderbuffer support for AMD_framebuffer_multisample_advanced
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
8e3d0019e1
st/mesa: pass storage_sample_count parameter into st_choose_format
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
459f05c7ec
mesa: add functional FBO changes for AMD_framebuffer_multisample_advanced
...
- relax FBO completeness rules
- validate sample counts
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
328c1c8d99
mesa: add gl_renderbuffer::NumStorageSamples
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
a96e946d25
mesa: implement glGet for AMD_framebuffer_multisample_advanced
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
3d6900d76e
glapi: define AMD_framebuffer_multisample_advanced and add its functions
...
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
2d115056d3
mesa: add storageSamples parameter to renderbuffer functions
...
It's just passed to other functions but otherwise unused.
It will be used in following commits.
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-04 02:46:55 -04:00
Marek Olšák
f7d42ee7d3
include: update GL & GLES headers (v2)
...
v2: use correct files
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
2018-08-04 02:43:05 -04:00
Marek Olšák
fd1121e839
amd: remove support for LLVM 5.0
...
Users are encouraged to switch to LLVM 6.0 released in March 2018.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-03 18:36:11 -04:00
Marek Olšák
461a864316
winsys/amdgpu: pass the BO list via the CS ioctl on DRM >= 3.27.0
2018-08-03 18:35:19 -04:00
Marek Olšák
0f79b2015b
gallium/u_vbuf: handle indirect multidraws correctly and efficiently (v3)
...
v2: need to do MAX{start+count} instead of MAX{count}
added piglit tests
v3: use malloc
Cc: 18.2 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
2018-08-03 18:30:46 -04:00
Mauro Rossi
1c7a2433b2
android: radv: build vulkan.radv conditionally to radeonsi
...
A problem was reported with arm,arm64 targets build due to missing
libLLVM shared library dependency with AOSP; to avoid this issue vulkan.radv
is built conditionally only when radeonsi is in BOARD_GPU_DRIVERS
Fixes: 0ca153f869
("android: radv: enable build of vulkan.radv HAL module")
Reported-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: "18.2" <mesa-stable@lists.freedesktop.org >
2018-08-03 20:09:16 +02:00
Roland Scheidegger
c72f91deba
util: return 0 for NaNs in float_to_ubyte
...
d3d10 requires NaNs to get converted to 0 for float->unorm conversions
(and float->int etc.). GL spec probably doesn't care in general, but it
would make sense to have reasonable behavior in any case imho - the
old code was converting negative NaNs to 0, and positive NaNs to 255.
(Note that using float comparison isn't actually all that much more
effort in any case, at least with sse2 it's just float comparison
(ucommiss) instead of int one - I converted the second comparison
to float too simply because it saves the probably somewhat expensive
transfer of the float from simd to int domain (with sse2 via stack),
so the generated code actually has 2 less instructions, although float
comparisons are more expensive than int ones.)
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-08-03 17:07:38 +02:00
Jason Ekstrand
1d900e55fd
anv/pipeline: Disable FS dispatch for pointless fragment shaders
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
2018-08-03 05:52:23 -07:00
Timothy Arceri
d5175d21c7
nir: add fall through comment to nir_gather_info
...
This stops Coverity reporting a defect and helps make the code less
error-prone.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
2018-08-03 09:30:57 +10:00
Dan Willemsen
12e3334f1e
CleanSpec.mk: Remove HOST_OUT_release
...
This is a forward port of a patch from the AOSP/master tree:
bd633f11de
%5E%21/
Which replaces HOST_OUT_release with HOST_OUT
As per Dan's explanation, the current code was incorrect to use
$(HOST_OUT_release) as $(HOST_OUT) will be set properly for
whether the current build that's being cleaned during
incrementals is using host debug or release builds.
Additionally Dan noted it was incredibly uncommon to use a debug
host build, as there was never a shortcut and one had to set an
environment variable manually. Thus it was rarely if ever tested.
Change-Id: I7972c0a50fa3520dcfa962d6dd7e602bfe22368d
Cc: Rob Herring <rob.herring@linaro.org >
Cc: Alistair Strachan <astrachan@google.com >
Cc: Marissa Wall <marissaw@google.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Rob Clark <robdclark@gmail.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Rob Herring <robh@kernel.org >
2018-08-02 15:42:40 -06:00
Sumit Semwal
d0b63b6583
Android.common.mk: define HAVE_TIMESPEC_GET
...
This is a forward port of a patch from the AOSP/master tree:
bd30b663f5
%5E%21/
Since https://android-review.googlesource.com/c/718518 added
timespec_get() to bionic, mesa3d doesn't build due to redefinition
of timespec_get().
Avoid redefinition by defining HAVE_TIMESPEC_GET flag.
Test: build and boot tested db820c to UI.
Change-Id: I3dcc8034b48785e45cd3fa50e4d9cf2c684694a0
Cc: Rob Herring <rob.herring@linaro.org >
Cc: Alistair Strachan <astrachan@google.com >
Cc: Marissa Wall <marissaw@google.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Rob Clark <robdclark@gmail.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Rob Herring <robh@kernel.org >
2018-08-02 15:42:27 -06:00
Dan Willemsen
dc030d1ec9
util: Android.mk: Convert implicit rules to static pattern rules
...
This is a partial cherry-pick from AOSP's mesa3d tree:
a88dcf769e
%5E%21/
"We're deprecating make implicit rules, preferring static pattern
rules, or just regular rules."
Without this patch, the freedesktop/master branch won't build in
the AOSP environment, and this patch corrects that, as tested
on the Dragonboard 820c.
The i965 portion of the patch this is based on collided badly,
and I'm not sure how to best forward port it. However, so far
we don't see build issues without that portion.
Comments or feedback would be appreciated!
Change-Id: Id6dfd0d018cbd665fa19d80c14abd5f75fa10b8a
Cc: Rob Herring <rob.herring@linaro.org >
Cc: Alistair Strachan <astrachan@google.com >
Cc: Marissa Wall <marissaw@google.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Rob Clark <robdclark@gmail.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Rob Herring <robh@kernel.org >
2018-08-02 15:42:23 -06:00
Darren Powell
726a48c94f
radeonsi: add new R600_DEBUG test "testclearbufperf"
...
Signed-off-by: Darren Powell <darren.powell@amd.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2018-08-02 16:09:22 -04:00
Brian Paul
977638006b
mesa: add switch case for GL 2.0 in _mesa_compute_version()
...
Previously, I added a switch case for GL 2.1 (ed7a0770b881791dd697f3).
I don't know of any driver which only supports GL 2.0, but adding
this switch case avoids a failure if the app queries
GL_SHADING_LANGUAGE_VERSION.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2018-08-02 13:20:00 -06:00
Andres Gomez
2d4d139877
intel/tools: add error2aub creation into autotools
...
Tarball distribution is done through "make distcheck". We include the
meson targets also into autotools so they won't fail when building
from the tarball.
Fixes: 6a60beba40
("intel/tools: Add an error state to aub translator")
Cc: Jason Ekstrand <jason.ekstrand@intel.com >
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: Dylan Baker <dylan.c.baker@intel.com >
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
2018-08-02 21:15:57 +03:00
Jason Ekstrand
7ef6cd0ee8
anv/pipeline: Do cross-stage linking optimizations
...
This appears to help the Aztec Ruins benchmark by about 2% on my Kaby
Lake gt2 laptop.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
a5bffa061d
anv/pipeline: Pull most of the anv_pipeline_compile_* into common code
...
This leaves us with a series of little anv_pipeline_compile_* functions
which each take a compiler object, a mem_ctx, the stage to compile, and
the previous stage for VUE linking purposes. Some of them do
interesting things but most are little more than wrappers around
brw_compile_*.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
5351339554
anv/pipeline: Add a separate "link" stage
...
This breaks compilation up a bit into "link" and "compile". In the
"link" stage, new anv_pipeline_link_* helpers are called which are
responsible for setting up the binding table and doing anything needed
to properly link with the next stage in the pipeline if one exists.
They are called in reverse order starting with the fragment shader so
you can assume linking in later stages is already done.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
5b196f39bd
anv/pipeline: Compile to NIR in compile_graphics
...
This pulls the SPIR-V to NIR step out into common code.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
946fcd02a9
anv/pipeline: Recompile all shaders if any are missing from the cache
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
f76d6d8a63
anv/pipeline: Drop anv_pipeline_add_compiled_stage
...
We can set active_stages much more directly and then it's just candy
around setting pipeline->stages[stage].
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
703a24932a
anv/pipeline: Pull shader compilation out into a helper.
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
f3c59ca947
anv/pipeline: Call anv_pipeline_compile_* in a loop
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
bdc3565c8c
anv/pipeline: Hash the entire pipeline in one go
...
Instead of hashing each stage separately (and TES and TCS together), we
hash the entire pipeline. This means we'll get fewer cache hits if
they, for instance, re-use the same VS over and over again but it also
means we can now safely do cross-stage optimizations.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
4a8236ae17
anv/pipeline: Populate keys up-front
...
Instead of having each anv_pipeline_compile_* function populate the
shader key, make it part of the anv_pipeline_stage struct and fill it
out up-front.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jason Ekstrand
76503b319a
anv/pipline: Add a helper struct for per-stage info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-08-02 10:29:20 -07:00
Jon Turney
a48c0659e1
meson: use correct keyword to fix a meson warning
...
With a sufficently recent meson, the following warning is produced:
WARNING: Passed invalid keyword argument "extra_args".
WARNING: This will become a hard error in the future.
It seems that compiler.links(args:) is meant here.
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk >
Reviewed-and-Tested-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
2018-08-02 18:12:49 +01:00
Andres Gomez
3013e22717
docs: add 18.3.0-devel release notes template
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
2018-08-02 18:15:33 +03:00
Andres Gomez
873767cf42
mesa: bump version to 18.3.0-devel
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
2018-08-02 18:00:15 +03:00
Eric Engestrom
44265cc65e
egl/main: fix indentation
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
2018-08-02 12:54:05 +01:00