Jesse Natalie
007b0fdff0
dzn: Initialize memoryTypeBits for querying properties on imported handles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Jesse Natalie
5957778c16
dzn: Include vulkan_core.h instead of vulkan.h in the device enum header
...
Prevents pulling in X11 "None" define into the DXCore implementation,
which conflicts with updated DXCore headers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10803
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339 >
2024-03-25 19:11:35 +00:00
Boris Brezillon
d9d6514fbc
panvk: Disable global offset on varying and non-VS attribute descriptors
...
We are not supposed to apply the vertex index offset to our varying or
non-VS attribute (AKA image) descriptors. While at it, explicitly set
offset_enable to true when emitting vertex attribute descriptors, to
clarify our intentions.
Fixes: c0d6539827 ("panvk: Drop support for Midgard")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28182 >
2024-03-25 18:30:47 +00:00
Faith Ekstrand
44cfc57062
nvk: Advertise VK_KHR_shader_subgroup_uniform_control_flow
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
79abb2aaff
nvk: Advertise VK_KHR_shader_maximal_reconvergence
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
8b5e785d9e
nak/nir: Use nir_lower_terminate_to_demote()
...
In NAK, halt turns int OpExit so this gives us exactly the same behavior
as before, just with the increased ability of NIR and our controlf-flow
lowering pass to reason about it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
cad080412d
nak: Remove the old barriers pass
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
a510e858b1
nak: Use the new lowering pass on SM70+
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
4bf8d8bd51
nak: Handle unstructured NIR
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
b75dde0cc6
nak: Add helpers for emitting jumps
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
2938e7934b
nak: Add NIR helpers for jump instructions
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
8e7f33818f
nak: Add more NIR wrappers for walking the NIR CFG
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
9312356d99
nak/nir: Add a control-flow lowering pass
...
This pass lowers from NIR structured control-flow to unstructured
control-flow with sync instructions scattered throughout to ensure
uniform convergence. Unlike the previous nak_nir_add_barriers() pass,
this one actually handles loop continues correctly. The previous pass
had no plan for handling divergent early continues whereas this pass
should. Also, the previous pass attempted to use barrier breaks in a
way that don't actually work because not all lanes involved in the
barrier were involved in the break.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
879c5c1dda
nak: Add a condition to bar_break_nv
...
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
18c4c36ae2
nak: Move barrier removal into its own pass
...
This only thing that's really required here is uniform re-convergence so
it may as well be its own pass.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
4fcbf558dd
nak: Add a copy_fs_outputs_nv intrinsic
...
This is just a little handle to tell the back-end where to do the copy.
Ideally, we'd have a NIR intrinsic that does the copy but we need to be
able to copy any number of registers up to 34 and NIR intrinsics just
aren't that flexible.
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
75861c64b8
nir: Add a lower_terminate_to_demote pass
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
1bd9c1b958
nir: Mark divergent regs in phis_to_regs_block()
...
This way we avoid destroying divergence information which may be used by
passes which also need to lower phis.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
2be97717e6
nir/gather_types: Support unstructured control-flow
...
This fixes nir_print for unstructured control-flow. It's safe to
backport just this patch because the worst case is that we don't set as
many types and not as much gets printed.
Fixes: 260a9167db ("nir/print: Improve NIR_PRINT=print_consts by using nir_gather_ssa_types()")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
3293248439
nir/repair_ssa: Support unstructured control-flow
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
42853b8115
nir/lower_reg: Support unstructured control-flow
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
bef0601d51
nir/lower_reg: Remove dead reg_decl intrinsics
...
For any reg we can lower, we remove it whenever we remove the last read
or write. For regs that aren't used at all, however, there are no reads
or writes so there's nothing to trigger the removal. Instead, we need
to do it in setup_reg.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
7576212c2c
nir: Validate that unstructured blocks are in reverse PDFS order
...
Also update the comment on nir_block_unstructured_next()
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:49 +00:00
Faith Ekstrand
c859ea5783
nir: Add a sort_unstructured_blocks() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
a18a917237
nir: Improve the comment for nir_block::imm_dom
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
a782809f81
nir/builder: Correctly handle decl_reg or undef as the first instruction
...
These are both handled by inserting them directly at the top of the
nir_function_impl. However, if the cursor is already at the top, it
never gets updated so we end up inserting other stuff after the newly
inserted undef or decl_reg. It's an odd edge case to be sure but I hit
it with my new NIR CF pass for NAK.
Fixes: 1be4c61c95 ("nir/builder: Add a helper for creating undefs")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
b069151e62
nir/print: Inline print_ssa_use()
...
It has one caller.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Faith Ekstrand
ba8860301f
nir: Take a nir_def in nir_goto_if()
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300 >
2024-03-25 15:55:48 +00:00
Samuel Pitoiset
76cd9388a1
zink/ci: enable RADV_PERFTEST=shader_object for NAVI10/VANGOGH
...
Mark arb_tessellation_shader-tes-gs-max-output as flake because
it passes with ESO but crashes with pipelines (existing failure).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28295 >
2024-03-25 15:20:00 +00:00
Ruijing Dong
fecbb4177c
radeonsi/vcn: update to use correct padding size.
...
Update padding size calculation to use cropping.
Original method could result in 0 padding, which
generated unnessary noise in the encoding result.
Cc: mesa-stable
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9196
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:47 +00:00
Ruijing Dong
b24748a93a
frontends/va: add surface alignment attribute
...
It is only taking effect in hevc encoding so far.
Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:46 +00:00
Ruijing Dong
7525d2242b
radeonsi/vcn: add enc surface alignment caps
...
set [64x16] as the alignment for hevc
encoding surface.
Cc: mesa-stable
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28280 >
2024-03-25 14:38:46 +00:00
Eric Engestrom
9be380c6da
ci: simplify unnecessarily complex printf
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Eric Engestrom
ed45e373bf
ci: convert the job start date into a timestamp only once
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Eric Engestrom
775eca9449
ci: deduplicate converting the current job runtime into %M:%S
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28344 >
2024-03-25 13:04:15 +00:00
Danylo Piliaiev
bfd56a1fdd
freedreno,tu/a7xx: Add PC_TESS_PARAM_SIZE and PC_TESS_FACTOR_SIZE
...
A750 adds explicit definition of PC_TESS_PARAM_SIZE and
PC_TESS_FACTOR_SIZE, probably in order to to correctly overlap execution
of several draws.
Note that blob adds a bit more space ({0x10, 0x20, 0x30, 0x40} bytes)
to PC_TESS_FACTOR_SIZE than we are, but the purpose of this additional
space is unknown.
Emitting these regs on whole A7XX seem to be fine - A740 doesn't
complain.
Fixes GPU faults in Witcher 3.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28210 >
2024-03-25 12:27:07 +00:00
Samuel Pitoiset
328f74fb44
radv: make sure to disable NGG culling with TES when the FS stage is unknown
...
NGG culling depends on the number of FS input reads but this can be
unknown with GPL/ESO when VS/TES are compiled separately. While VS
has a prolog most of the time, TES might incorrectly enable NGG culling
because the number of FS inputs was considered to be zero. To fix that,
consider the number of FS input reads to be the maximum possible value
when the FS is unknown to implicitly disable NGG culling.
This fixes a bunch of tess related flakes with Zink/ESO/RADV on RDNA2.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28293 >
2024-03-25 11:48:58 +00:00
Christian Gmeiner
3d3374a7a6
etnaviv: Do not set tex.amode for rounding
...
isaspec's encoding does not care about tex.amode for alu instructions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
6b1456ccdb
etnaviv: Remove isa.xml.h
...
We are using etnaviv.xml to describe our isa and generated all the
needed files.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
846d4988ce
etnaviv: Switch to macros from isa.h
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
8e0f2c2539
etnaviv: Move swizzle related macros to scr/etnaviv
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
abe5bd35d0
etnaviv: Switch to isa_assemble_instruction(..)
...
Use isaspec to assemble our instructions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
520886817e
etnaviv: isa: Add isa_assemble_instruction(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
b216fd044b
etnaviv: isa: Add encode support
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
3263d533d3
etnaviv: Set dst.use for MOVAR
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
8de9be6eb1
etnaviv: isa: Add rouding to etna_inst
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
feacc7239c
etnaviv: isa: Make use of generated enums
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
36c826d7ec
etnaviv: Move struct etna_inst to src/etnaviv
...
We will use struct etna_inst as starting point for our new assembler. The goal is
to do a smooth translation for the gallium driver.
Also apply clang-format rules and use SPDX license tag.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
59f9a54f36
etnaviv: Link against libetnaviv_encode
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:50 +00:00
Christian Gmeiner
7a4e15fdff
etnaviv: isa: Add an empty libetnaviv_encode
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28183 >
2024-03-25 10:27:49 +00:00