Samuel Pitoiset
4ab6357c42
radv: simplify keeping shader info for GPU hangs debugging
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Samuel Pitoiset
fe09a6d72b
radv: add helpers for init/deinit RGP
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Samuel Pitoiset
033084c912
radv: add helpers for init/deinit device memory cache
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Samuel Pitoiset
01339c6c93
radv: add radv_device_init_perf_counter()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Samuel Pitoiset
5657f21fcf
radv: destroy the perf counter BO in radv_device_finish_perf_counter()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Josh Simmons
c68408d195
radv: Fix crash when using SQTT and NO_COMPUTE
...
Signed-off-by: Josh Simmons <josh@nega.tv>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30177 >
2024-07-15 07:05:40 +00:00
Marek Olšák
0bb83a4060
ac/surface: finish display DCC for gfx12
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30114 >
2024-07-13 02:17:37 +00:00
Marek Olšák
46071c90c7
ac/surface: finish display DCC for gfx11.5
...
Fixes: 6835257246 - amd/common: update DCC for gfx11.5
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30114 >
2024-07-13 02:17:37 +00:00
Marek Olšák
678d520162
as/llvm: add s_nops before the ordered add loop and s_wait_alu workaround
...
The s_nops improve performance.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30063 >
2024-07-13 01:32:48 +00:00
Marek Olšák
bd8d20543d
ac/llvm: fix inline assembly register constraints for ordered_add_loop_gfx12_amd
...
This is only known to fix the assembly code when num_atomics > 6, which is
not currently used.
The VGPRs are reordered to simplify the clobber constraint.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30063 >
2024-07-13 01:32:48 +00:00
Marek Olšák
b617c3b06e
ac/llvm: remove s_nop from ordered_add_loop_gfx12_amd
...
This is faster.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30063 >
2024-07-13 01:32:48 +00:00
Marek Olšák
11272a8d82
ac/nir: remove sleeps from gfx12 streamout code
...
This is faster.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30063 >
2024-07-13 01:32:48 +00:00
Marek Olšák
1b2cd628b8
nir: rename ordered_xfb_counter_add_gfx12_amd -> ordered_add_loop_gfx12_amd
...
because it can also be used by compute.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30063 >
2024-07-13 01:32:48 +00:00
Marek Olšák
1fd43bca2c
radeonsi: don't use CP DMA on GFX940
...
It's been defeatured.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30115 >
2024-07-13 00:58:30 +00:00
Samuel Pitoiset
0a6852907d
radv: fix marking RADV_DYNAMIC_COLOR_ATTACHMENT_MAP as dirty
...
Due to the cmdbuf dirty split.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30119 >
2024-07-12 06:37:52 +00:00
David Rosca
6cc32c609b
radeonsi/vcn: Add low latency encode support
...
This feature should be enabled for use cases when the lowest encoding
latency is desired, such as real-time game streaming.
Disabled by default due to increased power usage.
There is no libva interface currently that could be used for this, so
for now it can only be enabled by setting AMD_DEBUG=lowlatencyenc
environment variable.
See: https://gitlab.freedesktop.org/drm/amd/-/issues/3336
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30039 >
2024-07-11 18:33:41 +00:00
Rhys Perry
4b36668575
radv: remove unecessary nir_remove_unused_varyings cleanup passes
...
I think the comment meant to refer to nir_remove_unused_varyings.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25590 >
2024-07-10 19:11:38 +00:00
Georg Lehmann
cd9187a1e1
aco/ra: fix affinity for s_addk
...
The first, non SCC def matters.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 39380d475a ("aco: add affinities for possible sopk optimizations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29943 >
2024-07-10 13:36:00 +00:00
Daniel Schürmann
fab95c78f9
aco/ra: remove special-casing of p_logical_end
...
There is always enough registers available and this code
was broken anyway and had no effect.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
ad01e473f5
aco/live_var_analysis: use separate allocator for temporary live sets
...
This drastically reduces the memory footprint of the live sets.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
7c466157d0
aco/live_var_analysis: remove unused includes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
6729e81d15
aco/live_var_analysis: inline block->register_demand updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
2f4fb9eecf
aco/live_var_analysis: ignore phi definition and operand demand at predecessors
...
The linear_phi changes are already reflected in the live-in demand
of the successor. The logical_phi_sgpr_ops can only reduce the
register demand at the predecessor. Although this might slightly
overestimate the register-demand, no differences in code quality
were found.
Totals from 1610 (2.03% of 79395) affected shaders: (GFX11)
PreSGPRs: 54002 -> 56954 (+5.47%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
68c1e7237c
aco/live_var_analysis: refactor using ctx struct
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
daac18f2ce
aco/util: skip empty blocks in IDSet::insert(IDSet)
...
Since we don't remove empty blocks on erase(), this avoids
duplicating them unnecessarily.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
6c6f382d68
aco: add RegisterDemand member to Instruction
...
Since we never need both at the same time, we can use
a union with pass_flags.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Daniel Schürmann
dc851c0aa6
aco/ra: use live_in_demand in should_compact_linear_vgprs()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29962 >
2024-07-10 12:31:02 +00:00
Samuel Pitoiset
56aa1ac74b
radv: use ac_is_reduction_mode_supported()
...
This reduces the number of formats that support filter min/max
reduction on <= GFX8 due to some hw limitations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30074 >
2024-07-10 07:57:42 +00:00
Samuel Pitoiset
cc3cb526c4
ac,radeonsi: add ac_is_reduction_mode_supported()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30074 >
2024-07-10 07:57:42 +00:00
Samuel Pitoiset
2d29b8b01e
radv: disable VK_EXT_sampler_filter_minmax on TAHITI and VERDE
...
Ported from RadeonSI.
This also explains all the flakes on Tahiti, see
9329f2c15b for reference.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30074 >
2024-07-10 07:57:42 +00:00
Samuel Pitoiset
4994c0fa94
radv: use blake3 for hashing pipeline layouts
...
This should also be faster.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:19 +00:00
Samuel Pitoiset
51c6910ba7
radv: use blake3 for hashing descriptor set layouts
...
It's faster than sha1, up to 28% with 1M of bindings.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9476
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:18 +00:00
Samuel Pitoiset
2c28ed7c5c
radv: remove radv_descriptor_set_layout::shader_stages
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:18 +00:00
Pierre-Eric Pelloux-Prayer
e7b200f20b
ac/info: remove has_syncobj
...
syncobj support is now required so these features are always available.
This is the same as 02fe3c32cd , without the radeonsi parts
to not break radeonsi on radeon.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29876 >
2024-07-09 15:07:27 +02:00
Pierre-Eric Pelloux-Prayer
2021813450
Revert "ac, radeonsi: remove has_syncobj, has_fence_to_handle"
...
This reverts commit 02fe3c32cd .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11352
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29876 >
2024-07-09 15:07:27 +02:00
Samuel Pitoiset
d1c97a1a50
radv: rework generating all graphics state for compiling pipelines
...
This introduces a new helper that will be used to generate a graphics
pipeline hash from a pCreateInfo struct only. Similar to RT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30049 >
2024-07-09 05:48:31 +00:00
Samuel Pitoiset
8f102c9d61
radv: stop passing a pipeline to some graphics related helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30049 >
2024-07-09 05:48:30 +00:00
Eric Engestrom
801ed4d032
ci: simplify setting .no-auto-retry now that it isn't bundled with unrelated rules:
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004 >
2024-07-07 19:31:44 +00:00
Eric Engestrom
f37af2ab8c
ci: split .no-auto-retry out of .scheduled_pipeline-rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004 >
2024-07-07 19:31:44 +00:00
Samuel Pitoiset
1a3b3b845b
radv: simplify determining when a VS prolog is needed
...
Only if a VS is compiled without the vertex input state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
7608aada6f
radv: simplify determining when the rasterization primitive is unknown
...
Either if the vertex input state is missing, or if no TES/GS/MS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
0c0ecc90c4
radv: move radv_hash_shaders() to radv_graphics_pipeline.c
...
And rename it for consistency with compute/RT hash functions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b51af513dd
radv: remove unnecessary radv_pipeline_has_ngg() function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b5193c8937
radv: remove unused get_vs_output_info() function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b43b71450c
radv: simplify importing libraries with retained shaders
...
It's possible to use create_flags directly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
6aba052f82
radv: remove unused parameter to radv_pipeline_import_retained_shaders()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Konstantin Seurer
0208927bcf
radv: Always use dynamic line smoothing
...
Static enablement is too complex for a feature that is barely used.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833 >
2024-07-05 08:58:53 +00:00
Konstantin Seurer
d571e19966
radv: Fix smooth lines with dynamic polygon mode and topology
...
Non-line modes need to disable the smoothing paths. (overrasterization,
shader code)
Fixes: 85cbdba ("radv: add support for smooth lines")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9393
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833 >
2024-07-05 08:58:53 +00:00
Khem Raj
5a9c052ba7
amd: Include missing llvm IR header Module.h
...
With LLVM-19, Module.h header is not being pulled, which results in
compile errors e.g.
src/amd/llvm/ac_llvm_helper.cpp:102:10: error: no matching function for call to ‘unwrap(LLVMOpaqueModule*&)’
102 | unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
| ~~~~~~^~~~~~~~
In file included from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/Type.h:18,
from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/DerivedTypes.h:23,
from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/InstrTypes.h:26,
from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/Analysis/TargetLibraryInfo.h:14,
from ../mesa-24.0.7/src/amd/llvm/ac_llvm_helper.cpp:8:
Its getting the definition from llvm/IR/Type.h instead of Module.h and caused
confusion to compiler
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11424
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29993 >
2024-07-03 19:26:47 +00:00
Samuel Pitoiset
dc89028bbc
radv: advertise VK_KHR_maintenance7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29956 >
2024-07-03 12:39:01 +00:00