Emma Anholt
d76fb3b2b1
glsl/opt_algebraic: Drop the flrp recognizer.
...
No change to r300.
freedreno looks mixed but slightly positive in instructions:
total instructions in shared programs: 11012472 -> 11012453 (<.01%)
instructions in affected programs: 8250 -> 8231 (-0.23%)
helped: 16
HURT: 50
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:09 +00:00
Emma Anholt
579aca894f
glsl/opt_algebraic: Drop the ftrunc pattern recognizer.
...
Now that it's in NIR, there's no change to r300 or freedreno shader-db
when we do.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:09 +00:00
Emma Anholt
6229d34b91
glsl/opt_algebraic: Drop some fmul simplifications.
...
Looks like mostly noise, trending slightly positively.
freedreno:
total instructions in shared programs: 11012781 -> 11012472 (<.01%)
instructions in affected programs: 114072 -> 113763 (-0.27%)
helped: 123
HURT: 153
r300:
total instructions in shared programs: 1338236 -> 1337897 (-0.03%)
instructions in affected programs: 3460 -> 3121 (-9.80%)
helped: 61
HURT: 11
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:09 +00:00
Emma Anholt
4bf65ce221
glsl/opt_algebraic: Drop the flrp/ffma simplifiers.
...
NIR seems to do a better job. Freedreno:
total instructions in shared programs: 11013096 -> 11012781 (<.01%)
instructions in affected programs: 258358 -> 258043 (-0.12%)
helped: 470
HURT: 269
r300:
total instructions in shared programs: 1338237 -> 1338236 (<.01%)
instructions in affected programs: 161 -> 160 (-0.62%)
helped: 1
HURT: 0
total presub in shared programs: 45127 -> 44881 (-0.55%)
presub in affected programs: 1719 -> 1473 (-14.31%)
helped: 246
HURT: 0
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:09 +00:00
Emma Anholt
3f632ce764
glsl/opt_algebraic: Drop no-op pack/unpack optimization.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
d589760f44
glsl/opt_algebraic: Drop the eq/neq add-removal optimization.
...
No change on freedreno or r300 shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
d352bd9737
glsl/opt_algebraic: Drop scalar all_eq/any_neq -> eq/neq opt.
...
No change in r300 or freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
62afead36f
glsl/opt_algebraic: Drop fdot 0-channel optimizations.
...
No change on i915g shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
b328c97e11
glsl/opt_algebraic: Drop csel(true/false, x, y) optimization.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
652ff42f14
glsl/opt_algebraic: Drop x + -x -> 0 optimization.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
69b178ac90
glsl/opt_algebraic: Drop add/sub with 0 optimizations.
...
Looks like minor instruction selection noise in freedreno shader-db:
total instructions in shared programs: 11013100 -> 11013096 (<.01%)
instructions in affected programs: 2714 -> 2710 (-0.15%)
helped: 8
HURT: 6
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
c6908fc8ac
glsl/opt_algebraic: Drop fdiv(1,x) -> frcp(x) and fdiv(x,1) -> x optimizations.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
4fc9342fc6
glsl/opt_algebraic: Drop and/or/xor optimizations.
...
NIR has them, and if anything freedreno shader-db prefers that NIR sees them:
total instructions in shared programs: 11013112 -> 11013100 (<.01%)
instructions in affected programs: 26266 -> 26254 (-0.05%)
helped: 4
HURT: 0
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
ab7a9b4538
glsl/opt_algebraic: Drop rcp optimizations.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
6b53d4b825
glsl/opt_algebraic: Drop pow optimizations.
...
These should all be covered by NIR. Minor shader-db changes on freedreno,
which appear to be scheduling noise.
total instructions in shared programs: 11013132 -> 11013112 (<.01%)
instructions in affected programs: 3408 -> 3388 (-0.59%)
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
bb1b37e6c1
glsl/opt_algebraic: Drop shifts of 0 optimizations.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
71c0c73f8e
glsl/opt_algebraic: drop fsat(fadd(b2f(x), b2f(y))) -> b2f(ior(x, y)) opt.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
144b61437a
glsl/opt_algebraic: Drop f2i(trunc(x)) -> f2i(x) optimization.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
47657b2ffe
glsl/opt_algebraic: Drop -(-x) -> x optimization.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
766f551cb5
glsl/opt_algebraic: Drop abs(-x) -> abs(x) and abs(abs(x)) -> abs(x).
...
NIR does this. No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
7a8a50106e
glsl/opt_algebraic: Drop pow-recognizer.
...
NIR handles pow recognizing, too. No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
d79061dba1
glsl/opt_algebraic: Drop log(exp(x)) -> x and exp(log(x)) -> x optimisations.
...
No change on freedreno shader-db.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
2bd0343ba0
glsl/opt_algebraic: Drop ~~x == x transformation.
...
No change on freedreno shader-db.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21475 >
2023-02-28 03:36:08 +00:00
Emma Anholt
ecabc824c2
glsl: Drop the (v.x + v.y + v.z + v.w) -> dot(v, 1.0) optimization.
...
It's not connected up to anything at the moment, and even if I do enable
it for crocus HSW it only shaves 3 instructions off of one particular VS
in an old synthetic benchmark, not affecting anything else in shader-db.
I don't think anyone will care to ever fix or port this to NIR, let's just
retire it.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21353 >
2023-02-22 21:45:35 +00:00
Timothy Arceri
f182b1952a
glsl: remove GLSL IR inverse comparison optimisations
...
As per 7d85dc4f35 GLSL IR is not smart enough to handle this
correctly for NANs.
Shader-db radeonsi (RX 6800):
Totals from affected shaders:
SGPRS: 26848 -> 26848 (0.00 %)
VGPRS: 13552 -> 13552 (0.00 %)
Spilled SGPRs: 134 -> 134 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 635000 -> 630988 (-0.63 %) bytes
Max Waves: 5474 -> 5474 (0.00 %)
Shader-db iris (BDW):
total instructions in shared programs: 17538859 -> 17539018 (<.01%)
instructions in affected programs: 29369 -> 29528 (0.54%)
helped: 3
HURT: 126
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.49% max: 0.49% x̄: 0.49% x̃: 0.49%
HURT stats (abs) min: 1 max: 2 x̄: 1.29 x̃: 1
HURT stats (rel) min: 0.27% max: 1.32% x̄: 0.61% x̃: 0.54%
95% mean confidence interval for instructions value: 1.13 1.33
95% mean confidence interval for instructions %-change: 0.54% 0.63%
Instructions are HURT.
total loops in shared programs: 4866 -> 4866 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs: 858548230 -> 858548915 (<.01%)
cycles in affected programs: 1331737 -> 1332422 (0.05%)
helped: 0
HURT: 92
HURT stats (abs) min: 2 max: 49 x̄: 7.45 x̃: 6
HURT stats (rel) min: 0.01% max: 1.90% x̄: 0.12% x̃: 0.05%
95% mean confidence interval for cycles value: 5.72 9.17
95% mean confidence interval for cycles %-change: 0.05% 0.19%
Cycles are HURT.
Note: With the addition of "nir/comparison_pre: See through an inot to
apply the optimization", idr's shader-db results are:
All Broadwell and newer Intel platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 19940805 -> 19940802 (<.01%)
instructions in affected programs: 582 -> 579 (-0.52%)
helped: 3 / HURT: 0
total cycles in shared programs: 858431633 -> 858431747 (<.01%)
cycles in affected programs: 4938 -> 5052 (2.31%)
helped: 0 / HURT: 3
All older Intel platforms had similar results. (Haswell shown)
total instructions in shared programs: 16715626 -> 16715670 (<.01%)
instructions in affected programs: 9496 -> 9540 (0.46%)
helped: 0 / HURT: 44
total cycles in shared programs: 881224396 -> 881232314 (<.01%)
cycles in affected programs: 600610 -> 608528 (1.32%)
helped: 6 / HURT: 44
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18006 >
2022-09-08 01:01:14 +00:00
Emma Anholt
8c4b88ee48
gallium+glsl: Remove EmitNoSat/PIPE_CAP_VERTEX_SHADER_SATURATE
...
The drivers not setting it were:
- nv30, which gets lowering using NIR's lower_fsat flag.
- r300, which gets lowering using NIR's lower_fsat flag.
- a2xx, which has was getting it optimized back to fsat anyway.
This drops the check for the cap from gallium nine. While nine does have
a non-nir path, I think it's safe to assume that if you have SM3
texturing, you can do fsat.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
761eb7e539
glsl: Delete unused EmitNoPow path.
...
This was last used with i915c, now lower_fpow covers this class of
lowering.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15623 >
2022-03-30 22:26:15 +00:00
Dave Airlie
23b361ae12
glsl: move off mtypes.h in lots of places.
...
This moves to the new split out header files, should mean less recompiling
for unrelated changes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437 >
2022-01-20 00:20:06 +00:00
Timothy Arceri
74a1f103b6
mesa: update or remove out of date references to ir_to_mesa
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14066 >
2021-12-06 10:15:08 +00:00
Marcin Ślusarz
89bc8ff408
glsl/opt_algebraic: disable invalid optimization
...
When operators other than eq and ne are involved we can't really
move operands around and negate them because such transformation
may change the value of the whole expression.
Some examples:
For unsigned var:
0 >= 1u + var would eventually become 0xffffffff >= var,
which would always evaluate to true, when original expression
was true only for var == 0xffffffff.
For signed var:
0 >= 1 + var would become -1 >= var, which would evaluate to
false for var == 2147483647, when original expression evaluated
to true (because signed overflow is defined to wrap around in
glsl, 1 + 2147483647 == -2147483648, so 0 >= -2147483648).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5226
Fixes: 34ec1a24d6 ("glsl: Optimize (x + y cmp 0) into (x cmp -y).")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12359 >
2021-08-17 08:17:52 +00:00
Danylo Piliaiev
9f3956fea0
glsl: Don't replace lrp pattern with lrp if arguments are not floats
...
We don't have "lrp(int, int, int)" and validation of ir_triop_lrp
fails down the road.
Fixes: 8d37e991
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3059
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5257 >
2020-06-03 09:06:25 +00:00
Kristian H. Kristensen
83afebf359
glsl: Add fp16 case for ir_triop_lrp optimization
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3929 >
2020-03-09 16:31:08 +00:00
Pierre-Eric Pelloux-Prayer
47cc660d9c
glsl: replace 'x + (-x)' with constant 0
...
This fixes a hang in shadertoy for radeonsi where a buffer was initialized with:
value -= value
with value being undefined.
In this case LLVM replace the operation with an assignment to NaN.
Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111241
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-29 17:48:49 -04:00
Timothy Arceri
2a5121bf35
glsl: skip comparison opt when adding vars of different size
...
The spec allows adding scalars with a vector or matrix. In this case
the opt was losing swizzle and size information.
This fixes a bug with Doom (2016) shaders.
Fixes: 34ec1a24d6 ("glsl: Optimize (x + y cmp 0) into (x cmp -y).")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2018-06-28 12:15:17 +10:00
Marek Olšák
43d66c8c2d
mesa: include mtypes.h less
...
- remove mtypes.h from most header files
- add main/menums.h for often used definitions
- remove main/core.h
v2: fix radv build
Reviewed-by: Brian Paul <brianp@vmware.com >
2018-04-12 19:31:30 -04:00
Ian Romanick
6403efbe74
glsl: Remove ir_binop_greater and ir_binop_lequal expressions
...
NIR does not have these instructions. TGSI and Mesa IR both implement
them using < and >=, repsectively. Removing them deletes a bunch of
code and means I don't have to add code to the SPIR-V generator for
them.
v2: Rebase on 2+ years of change... and fix a major bug added in the
rebase.
text data bss dec hex filename
8255291 268856 294072 8818219 868e2b 32-bit i965_dri.so before
8254235 268856 294072 8817163 868a0b 32-bit i965_dri.so after
7815339 345592 420592 8581523 82f193 64-bit i965_dri.so before
7813995 345560 420592 8580147 82ec33 64-bit i965_dri.so after
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-10-30 09:27:09 -07:00
Timothy Arceri
77f5221233
glsl: pass mem_ctx to constant_expression_value(...) and friends
...
The main motivation for this is that threaded compilation can fall
over if we were to allocate IR inside constant_expression_value()
when calling it on a builtin. This is because builtins are shared
across the whole OpenGL context.
f81ede4699 worked around the problem by cloning the entire
builtin before constant_expression_value() could be called on
it. However cloning the whole function each time we referenced
it lead to a significant reduction in the GLSL IR compiler
performance. This change along with the following patch
helps fix that performance regression.
Other advantages are that we reduce the number of calls to
ralloc_parent(), and for loop unrolling we free constants after
they are used rather than leaving them hanging around.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
2017-08-11 15:44:08 +10:00
Timothy Arceri
e2e2c5abd2
glsl: calculate number of operands in an expression once
...
Extra validation is added to ir_validate to make sure this is
always updated to the correct numer of operands, as passes like
lower_instructions modify the instructions directly rather then
generating a new one.
The reduction in time is so small that it is not really
measurable. However callgrind was reporting this function as
being called just under 34 million times while compiling the
Deus Ex shaders (just pre-linking was profiled) with 0.20%
spent in this function.
v2:
- make num_operands a unit8_t
- fix unsigned/signed mismatches
Reviewed-by: Thomas Helland <thomashelland90@gmail.com >
2017-08-11 10:43:12 +10:00
Timothy Arceri
9e9f7840bd
glsl: tidy up int declaration
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2017-06-22 20:06:38 +10:00
Timothy Arceri
95927bb27f
glsl: fix typo in comment
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2017-06-22 20:06:32 +10:00
Samuel Pitoiset
a7bc51aef8
glsl: make use of glsl_type::is_float()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
2017-04-21 19:34:15 +02:00
Samuel Pitoiset
cacc823c39
glsl: make use of glsl_type::is_double()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
2017-04-21 19:34:12 +02:00
Ian Romanick
81952814a3
glsl: Optimize redundant pack(unpack()) and unpack(pack()) combinations
...
The lowering passes 64-bit integer operations will generate a lot of
these.
v2: Modify the HANDLE_PACK_UNPACK_INVERSE so that the breaks apply to
the switch instead of the 'do { } while(true)' loop.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2017-01-20 15:41:23 -08:00
Marek Olšák
ae0a4a1299
glsl: remove interpolateAt* instructions for demoted inputs
...
This fixes 8 fs-interpolateat* piglit crashes on radeonsi, because it can't
handle non-input operands in interpolateAt*.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2016-09-16 22:35:08 +02:00
Jason Ekstrand
b2209b2333
glsl/opt_algebraic: Don't handle invariant or precise trees
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
2016-03-23 16:28:07 -07:00
Emil Velikov
eb63640c1d
glsl: move to compiler/
...
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
2016-01-26 16:08:33 +00:00