Mesa (master): 38 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 10 23:04:41 UTC 2020
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af3c2f3cfd81186b0041e5297db5225fc788b04e
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:49 2020 +1000
nvc0: initial support for tu1xx
v2:
- add proper method definitions
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Acked-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=268dc60d3a091bc563e319c38e74cc10e544aa8a
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:46 2020 +1000
nvc0: initial support for gv100
v2:
- remove unnecessary MAX2()
- add proper method definitions
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Acked-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=839aeffb49ef989d2eab3a62e04f1cb8b907d7d7
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:45 2020 +1000
nvc0: remove hardcoded blitter vertprog
I don't really feel like writing SM70 SASS by hand...
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f3fbfb82e6559fbf44c5384f8639e73ec6dd82b
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:43 2020 +1000
nvc0: move setting of entrypoint for a shader stage to a function
GV100 requires something different, cleaner to move this to a single place.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=550f1c6d33250d33a50e86f03fa4024db33d4f8a
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:41 2020 +1000
nvc0: use NVIDIA headers for GP100- compute QMD
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=443d369bd5fbb579c40e036dc52757919e0fb253
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:39 2020 +1000
nvc0: use NVIDIA headers for GK104->GM2xx compute QMD
v2:
- add header debug_printf(), and indent the output
v3:
- rename one of the helper macros
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7458e21e2b9ba4395bf16a1b03e04380438424a5
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:37 2020 +1000
nvir/gv100: enable support for tu1xx
SM75 has a bunch more stuff, but is otherwise backwards-compatible
with SM70 SASS.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=78103abe8784e788c7d04b807bc47527b504121e
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:35 2020 +1000
nvir/gv100: initial support
v2:
- add TargetGV100::isBarrierRequired() for OP_BREV
- use NV50_IR_SUBOP_LOP3_LUT() convenience macro where it makes sense
- separated out nir_lower_idiv into its own commit
- make use of the shared function to generate compiler options
- disable lower_fpow, nir's lowering is broken
v3:
- use replaceCvt() instead of custom NEG/ABS/SAT lowering
v4:
- remove WAR from peephole, not needed now we're using replaceCvt()
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Acked-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cacf2961091b92b281b3fb9a98309fded10c1f33
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:33 2020 +1000
nvir/nir/gm107: switch off lower_extract_word
We can use PRMT here.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=57259fa802bfaa6e9d166b9d3958adfda65ea417
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:31 2020 +1000
nvir/nir/gm107: switch off lower_extract_byte
We can use PRMT here.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d58290270a2829e397b5a84f75845361961812af
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:29 2020 +1000
nvir/nir/gm107: turn on nir_lower_extract64
About to disable lowering for extract_byte/word in favour of a better
local implementation, but still need lowering for 64-bit versions.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f29e6a9e7e9827e7966d4b8e65c990a2a0842655
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:27 2020 +1000
nvir/nir/gm107: split nir shader compiler options from gf100
We can enable some more things here vs earlier GPUs.
v2:
- make use of the shared function to generate compiler options
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f8ddbd0698c71e2eb03363d3033cafdcb2a0563
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:25 2020 +1000
nvir/gm107: separate out header for sched data calculator
SM70 code emitter will want to reuse this.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0379e454933995378d6ad997af3f09840072ea6
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:23 2020 +1000
nvir/gm107: replace SHR+AND+AND with PRMT+PRMT in PFETCH lowering
This is more SM70-friendly.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f7798be9fea0e4a2569ea3f9d7f5ba59e024fd6
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:21 2020 +1000
nvir/gm107: implement OP_PERMT
PFETCH lowering will be changed to use this as it's more SM70-friendly,
and this will also allow us to implement extract_byte/word opcodes.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9670c087a7a0c6927f847c2609852dceb2583360
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Mon Jun 8 06:23:50 2020 +1000
nvir/nir: use nir_lower_idiv
NIR provides a common implementation of this so we don't need to use a
hand-written built-in library.
v2:
- use idiv_precise instead
Especially important on SM70 where we don't have an assembler.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59b44f90aa4db9425ed05d415c61ef63ced66726
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:17 2020 +1000
nvir/nir: nir expects the shift amount to wrap, rather than clamp
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=126954aade982ab79fde07de35c9911737eb0d04
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:15 2020 +1000
nvir/nir: implement nir_op_uror
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23d56c842dee85b96ffaac78a751256354a46b46
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:13 2020 +1000
nvir/nir: implement nir_op_urol
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4af791c3bd5636f8510b4f77c6d4b8182cf3501a
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:11 2020 +1000
nvir/nir: implement nir_op_extract_i16
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfdef484f54361e53c343fb8aee2d61a7f9cf025
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:10 2020 +1000
nvir/nir: implement nir_op_extract_u16
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37bef78c791e099ebda34f20f2088f77bd60ac1c
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:08 2020 +1000
nvir/nir: implement nir_op_extract_i8
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=da390389d094d82e405003fdacaf9ee9cc8e74fe
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:06 2020 +1000
nvir/nir: implement nir_op_extract_u8
v2:
- use getSSA() instead of getScratch()
v3:
- fix whitespace
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b80033abc6fd29a6873a56d88c8dd1d225ba8b07
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:19 2020 +1000
nvir/nir: turn on lower_rotate
This isn't implemented, and won't be for GPUs that don't support SHF.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ad6f1b7bb85798b0a0647b27c6b17a575d82fa3
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Mon Jun 8 08:43:54 2020 +1000
nvir/nir: flesh out options
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa0a241b33552eca907e3c34f010ff67ffd247cd
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:04 2020 +1000
nvir/nir: move nir options to codegen
These seem to make more sense living with the compiler.
v2:
- use a shared function to generate the per-chipset structs
- remove nir.h include from header, not needed
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=789fa7e378c003871e660076569713324abd4b4a
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:02 2020 +1000
nvir/nir: fix fragment program output when using MRT
v2:
- use BITFIELD64_BIT()
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce7754e31b558bc8c8e5f0dd09c2e1649bb464f5
Author: Karol Herbst <kherbst at redhat.com>
Date: Fri May 15 11:14:12 2020 +0200
nvir/nir: use component helpers instead of insn->num_components
We have nir_intrinsic_dest_components and nir_intrinsic_src_components
which handle all the corner cases.
Fixes a bunch of regressions like front_face stuff.
Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Ben Skeggs <bskeggs at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2420c2280f32d3c36b39522d1d3555fe5627d23
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Tue Jun 9 09:52:47 2020 +1000
nvir: run replaceZero() before replaceCvt()
replaceCvt() will miss some cases otherwise.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dbb7572e2b5b96a9cc7767c7cbf550180ec78cd
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:52:00 2020 +1000
nvir: add constant folding for OP_PERMT
Important for SM70 INSBF/EXTBF lowering, as these can can often be
eliminated completely.
v2:
- skip CF when subOp is set
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a831967c72c57abca347396403fa59d232845282
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:58 2020 +1000
nvir: introduce OP_FINAL
Required to support SM70 GS.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c3040e93a46fc00655e7f74b004f9f38d2f6471
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:56 2020 +1000
nvir: introduce OP_SGXT
Required for SM70 EXTBF lowering.
v2:
- added constant folding
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fd41da1ef1ed39847ac15b4e582420756d1a5f8
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:55 2020 +1000
nvir: introduce OP_BMSK
This replaces the existing implementation without adding lowering for
earlier GPUs. The reason for this is because the existing code isn't
at all correct, and it also can't be hit anyway.
Will be required to support SM70 lowering passes.
v2:
- fixup source selection
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1e4d1d373aa3090ed3cd186fe3158cee38d1e31
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:53 2020 +1000
nvir: introduce OP_SHF
We already use a hack from NVC0LegalizeSSA::handleShift() on GK110 and
newer which encodes SHF into the existing SHL/SHR opcodes, but there's
a couple of problems with it:
- LO/HI are swapped in one of the directions, which is very confusing.
- The initial SM70 code will emit this from NIR->NVIR, and using the
existing encodings will confuse the optimisation passes.
As I want to limit the impact on other GPUs from the initial bring-up
of Volta/Turing, let's add an explicit representation of SHF in the IR.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60b28f7a5031324469a751cfbf9567204c4fc313
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:51 2020 +1000
nvir: introduce OP_BREV with lowering to EXTBF_REV for current GPUs
SM70 has this instruction, but no BFE.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ddedfcdf2116396f7630a4604667f946be64c588
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:49 2020 +1000
nvir: introduce OP_WARPSYNC
Will be required to support SM70.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b9b7e4dd33b06f696534327a3878de89659f2a6
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:45 2020 +1000
nvir: introduce OP_LOP3_LUT
Will be required to support SM70, but is also available on earlier GPUs.
v2:
- add convenience macro suggested by Karol
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b80aff88fed60679d2b0ac7fcea29d6cd3ad95ce
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Sun Jun 7 09:51:40 2020 +1000
nvir: bump max encoding size of instructions
SM70 SASS is encoded into 16 bytes.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
More information about the mesa-commit
mailing list