Rhys Perry
82de70d06e
aco: add more opcodes to can_swap_operands
...
fossil-db (Navi, fp16 enabled):
Totals from 310 (0.24% of 127638) affected shaders:
CodeSize: 1290508 -> 1289716 (-0.06%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Samuel Pitoiset
3c1b55962e
aco: allow to swap operands for some 16-bit float instructions
...
No fossil-db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
575b431c80
aco: validate sub-dword pseudo instructions
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
d16a7190a3
aco: optimize 16-bit and 64-bit float comparisons
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
22d7122739
aco: copy-propagate constants through p_extract_vector/p_split_vector
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4388 -> 4392 (+0.09%)
VMEM: 465 -> 458 (-1.51%)
Copies: 54 -> 55 (+1.85%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
3d6f67950d
aco: improve 8/16-bit constants
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4540 -> 4388 (-3.35%)
Instrs: 861 -> 830 (-3.60%)
Cycles: 3444 -> 3320 (-3.60%)
VMEM: 489 -> 465 (-4.91%)
SMEM: 107 -> 110 (+2.80%)
SClause: 31 -> 30 (-3.23%)
Copies: 58 -> 54 (-6.90%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
4784111abc
aco: use 32-bit inline constants for 16-bit integer instructions
...
See https://reviews.llvm.org/D81841
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
dd23345567
aco: fix half_pi constant for 16-bit fsin/fcos
...
This worked because the optimizer didn't consider that the 16-bit
instruction would interpret the inline constant differently. This will
change in the next commit.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
9b69ed0bb9
aco: improve sub-dword check for sgpr/constant propagation
...
p_create_vector can have sub-dword operands with a v1 definition.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1210e0bd62
aco: create 16-bit input and output modifiers
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4552 -> 4540 (-0.26%)
Instrs: 863 -> 861 (-0.23%)
Cycles: 3452 -> 3444 (-0.23%)
VMEM: 490 -> 489 (-0.20%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
f5a5674178
aco: update comment about preserving fp16/fp64 denormals
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
7f511efa16
aco: create 16-bit mad/fma
...
fossil-db (Navi, fp16 enabled):
Totals from 1 (0.00% of 127638) affected shaders:
CodeSize: 4868 -> 4552 (-6.49%)
Instrs: 956 -> 863 (-9.73%)
Cycles: 3824 -> 3452 (-9.73%)
VMEM: 504 -> 490 (-2.78%)
SMEM: 109 -> 107 (-1.83%)
VClause: 19 -> 20 (+5.26%)
Copies: 54 -> 58 (+7.41%)
PreVGPRs: 43 -> 41 (-4.65%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1b10764e50
aco: try to use fma instead of mad when denormals are enabled
...
v_mad_f32 doesn't support denormals but v_fma_f32 does.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
6cb42cdd8f
aco: create mads when signed zeros should be preserved
...
This check was added because I thought v_mad_f32 didn't preserve the
signess of zero, but I can't reproduce that and this isn't mentioned
anywhere in LLVM.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
1b6a319c15
aco: add and set precise flag
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
a8f800a836
aco: use p_as_uniform in emit_vop1_instruction
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
b6d9e45f47
aco: improve code for f2{i,u}{8,16}
...
Use sub-dword definitions so that the RA can use SDWA
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Rhys Perry
34d481fd1f
aco: use num_opcodes instead of last_opcode
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5245 >
2020-06-15 18:24:22 +00:00
Erik Faye-Lund
e838acf37d
nir: do not try to merge xfb-outputs
...
It's tricky to merge XFB-outputs correctly, because we need there to not
be any overlaps when we get to `nir_gather_xfb_info_with_varyings` later
on. We currently trigger an assert there if we end up merging here.
So let's not even try. This is an optimization, and we can optimize this
in safe cases later if needed. For now, let's play it safe.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5329 >
2020-06-15 16:13:58 +00:00
Rob Clark
b5c810d68b
turnip: drop linking libfreedreno_drm
...
Now that it is no longer required.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Rob Clark
1a33faea8c
freedreno/ir3: move the libdrm dependency out of shared code
...
The only reason for this dependency was the fd_bo used for the uploaded
shader. But this isn't used by turnip. Now that we've unified the
cleanup path from gallium, it isn't hard to pull the fd_bo upload/free
parts into ir3_gallium.
This cleanup has the added benefit that the shader disk-cache will not
have to deal with it.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Rob Clark
43e0062c5b
freedreno/ir3: unify shader create/delete paths
...
In particular, to move the fd_bo create/delete (which is unneeded by
turnip) out of the shared ir3 code, it is useful to have a single
delete path.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5476 >
2020-06-15 15:46:37 +00:00
Mike Blumenkrantz
828c767113
zink: rework input/output location emission
...
glsl builtins that have no analog in spirv are emitted as regular varyings,
which means they take up a slot.
we need to ensure that there's no conflict between these regular varying
slots (from user-defined varyings) and the glsl translated builtins, so
we do that by "reserving" the max number of varying slots that can be used
by a given stage, then remapping all glsl builtins with no spirv builtin
to a packed layout location that can be consistent across stages
sort of addresses mesa/mesa#3113 except now there's 10 fewer varying slots
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5432 >
2020-06-15 15:36:06 +00:00
Mike Blumenkrantz
f90bc6daa9
zink: handle more glsl->spirv builtin translation
...
this should be all of them, though the check for vertex shader stage needs
to be changed to !fragment stage at some point
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5432 >
2020-06-15 15:36:06 +00:00
Samuel Pitoiset
9b6a8d1742
spirv: fix using OpSampledImage with OpUndef instead of OpType{Image,Sampler}
...
This seems valid per the SPIR-V spec to use OpSampledImage with
OpUndef instead of OpTypeImage or OpTypeSampler. When the image
operand is undefined, SPIRV->NIR emits an undef instruction that
can be removed later by the compiler.
This fixes shader compilation crashes with Red Dead Redemption II.
Cc: mesa-stable@lists.freedesktop.org >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5230 >
2020-06-15 17:02:53 +02:00
Alyssa Rosenzweig
277b616962
pan/mdg: Precolour blend inputs
...
Instead of requiring an explicit unoptimized move, we can implicitly
colour the blend input intrinsic to r0, where it will be preloaded; this
is a simple task for RA, and does not conflict with anything. If there
are multiple duplicate loads, the latter ones can just be simple moves
which will be copypropped.
We don't need to include a explicit synthetic load, since (scanning
backwards) the read will cause the input to become live at the right
time and the lack of an explicit write will keep it live from the
beginning of the shader. So no need to make it more complicated than it
needs to be.
Saves a cycle in blend shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5449 >
2020-06-15 13:29:25 +00:00
Yevhenii Kolesnikov
ad00159070
nvir: don't use designated initialisers in C++ code
...
This feature only available since C++20.
Fixes: fa0a241b33 ("nvir/nir: move nir options to codegen")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3114
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5430 >
2020-06-15 13:29:23 +03:00
Samuel Pitoiset
013d096d15
ac: add ac_choose_spi_color_formats() to common code
...
It's similar between RADV and RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5436 >
2020-06-15 08:16:07 +02:00
Jonathan Marek
1d9e6e456a
freedreno/ir3: fix ir3_nir_move_varying_inputs
...
ir3_nir_move_varying_inputs is broken when there a load input outside of
the first block which depends on the result of a previous load input.
This simplification/rework avoids the problem, and should also be faster.
Fixes this dEQP-VK test:
dEQP-VK.pipeline.multisample_interpolation.offset_interpolate_at_pixel_center.128_128_1.samples_2
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5465 >
2020-06-14 17:53:47 +00:00
Eric Engestrom
356be07ce2
intel/tools: make test aware of the meson test wrapper
...
Suggested-by: Dylan Baker <dylan@pnwbakers.com >
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5155 >
2020-06-13 20:32:08 +00:00
Eric Engestrom
ccaa5b034f
intel/tools: rewrite run-test.sh in python
...
Old script created files in the source directory, which is generally
considered bad form.
The rewrite to python instead of duct-taping around in the shell script
goes towards the goal of only having cross-platform python scripts,
which is also harder to make mistakes in than shell scripts.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5155 >
2020-06-13 20:32:08 +00:00
Eric Engestrom
ebb33b2c0a
post_version.py: update script to the new rST way of things
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Eric Engestrom
8bc055fc52
gen_release_notes.py: update script to the new rST way of things
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
9d90791c19
docs/release-calendar: restore missing id
...
I'm not sure how this got dropped, but it somehow did during conversion.
Let's restore it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
8077267026
bin/perf-annotate-jit.py: update internal reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
cd01d0dee1
radv: update internal reference
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
7d497e4e09
docs/relnotes: update internal references
...
I'm not 100% sure if it feels right to update these. I mean, this keeps
links working as they should, even if exported to something else than
HTML. But it also feels a bit like history revisionism. It's probably
the right thing to do, though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
f1fe74afb2
docs: update internal references
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
ea91f4769a
README: update references to internal docs
...
These documents are no longer HTML files, so the internal reference
should be updated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
0b4f5121f0
docs: drop news in favour of the introduction as index-page
...
This kind of only makes sense once we have a separate home-page. But I
think this is a good way of showing why we should do this; Sphinx
doesn't support pagination, because it's not meant as a general-purpose
website framewrork. And for documentation, pagination is not really
something you need.
There's probably a lot more pages that should be moved into a separate
webpage, similar to this. In general, I think this should be done for
pages that don't relate to the source code too much, e.g isn't needed to
understand the code, or for instance explains how to get the source code.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
064fe5f3f4
gitlab-ci: build and deploy docs
...
Dunno if alpine is a good idea. It's what the gitlab docs use for most
of their examples, so that's what I've gone with... Can probably be
changed to something else if wanted.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
381fc0eca5
docs: include specs into the generated docs
...
Unfortunately, it doesn't seem like there's a way to have sphinx copy
this without moving the files, becasue html_extra_path doesn't copy the
directory itself when given a directory, only files inside and
subdirectories.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
dd3add1b19
docs: bundle extra files
...
These are documents that are bundled in the root of the website, and
contains some useful, extra documentation. Let's include them.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
62abe35e34
docs: use rst-note for highlighted text
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
29c95ff627
docs: reformat license table as rst table
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
84140a7c06
docs: use rst footnotes instead of manual ones
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Laura Ekstrand
8342fe8302
docs: Add the favicon to the new page.
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
17aefa73a1
docs: do not copy source-files to site
...
These docs have publically available sources in the first place, there's
no point in including a copy of them here as well.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Laura Ekstrand
21adb67048
docs: Remove version.
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00
Erik Faye-Lund
54e38882a1
docs: add xlibdriver to table-of-contents
...
It's not so nice to have a hidden article, so let's add this one to the
TOC under "User Topics".
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630 >
2020-06-13 10:42:01 +00:00