James Park
49d77357ea
amd: Disable surface modifier test on Windows
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8855 >
2021-02-04 02:02:27 +00:00
James Park
2e8b8f0514
ac: Remove unnecessary header
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8819 >
2021-02-03 08:32:01 +00:00
Bas Nieuwenhuizen
21f476920e
amd/common: Add modifier size helper.
...
For use in Vulkan.
Reviewed-By: Chad Versace <chad@kiwitree.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7667 >
2021-02-02 00:43:56 +00:00
Marek Olšák
e93b42c214
ac,radeonsi: track memory usage in KB to reduce types from uint64 to uint32
...
Decreasing the time spent in radeon_cs_memory_below_limit is the motivation.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794 >
2021-01-30 15:38:15 -05:00
Pierre-Eric Pelloux-Prayer
5dc823304b
radeonsi/sqtt: forward string markers to sqtt
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8746 >
2021-01-29 08:44:12 +00:00
Samuel Pitoiset
8087202a65
ac/surface: store HTILE mip info into the surface
...
GFX10 can only compress the first level in the mip tail.
GFX9+ is not yet supported because mips are interleaved.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8124 >
2021-01-27 09:02:17 +01:00
Samuel Pitoiset
23461897fe
radv: add support for emitting PS_DONE/CS_DONE on GFX6-8
...
On GFX6, EOS events are always emitted with EVENT_WRITE_EOS.
On GFX7+, EOS events are emitted with EVENT_WRITE_EOS on the
graphics queue, and with RELEASE_MEM on the compute queue.
Fixes: 9c65f1f111 ("radv: synchronize Cmd{Set,Write}Event() using PS_DONE/CS_DONE events")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8710 >
2021-01-26 09:26:58 +00:00
Samuel Pitoiset
aedcaff356
ac,radv: add SQTT support on GFX10.3
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8616 >
2021-01-22 14:25:16 +00:00
Samuel Pitoiset
cd53f24fbf
ac/rgp: add support for GFX10.3
...
According to AMDVLK, GFX10.3 uses SQTT version 2.4.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8616 >
2021-01-22 14:25:16 +00:00
Bas Nieuwenhuizen
c28469bae1
ac/surface: Fix GFX9 sparse mip info.
...
Used the wrong offset & pitch for gfx9.
Fixes: 50bafb85ec ("ac/surf: Add sparse texture info to radeon_surf.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4072
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8526 >
2021-01-16 14:09:18 +00:00
Pierre-Eric Pelloux-Prayer
c4b7a0d61d
ac: add ifdef __cplusplus guard to header
...
ac_shadowed_regs.h can be included from si_state_draw.cpp so this commit
adds the needed guards.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8433 >
2021-01-14 10:33:10 +01:00
Samuel Pitoiset
a4876f055c
ac/surface: store DCC mip info into the surface
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8468 >
2021-01-13 13:42:04 +00:00
Bas Nieuwenhuizen
9a937330ef
radeonsi: Only set modifier creation function for GFX9+ & with kernel support.
...
Fixes: c786150dfa ("radeonsi: Add modifier support.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3963
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8407 >
2021-01-12 23:47:09 +00:00
Samuel Pitoiset
7a3e6f5ac2
ac/surface: initialize dcc_slice_size on GFX9+
...
Will be used by RADV to implement DCC layers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8368 >
2021-01-11 15:42:22 +00:00
Bas Nieuwenhuizen
f56a28daa4
ac/surf: Use correct tilemodes on GFX8 for PRT.
...
Otherwise addrlib will assign the non-PRT tiling indices anyway ...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953 >
2021-01-11 12:01:34 +00:00
Bas Nieuwenhuizen
50bafb85ec
ac/surf: Add sparse texture info to radeon_surf.
...
For GFX9 I didn't reuse the existing mipmap offset/pitch because
last time we did that there was a revert request from Marek.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953 >
2021-01-11 12:01:34 +00:00
Bas Nieuwenhuizen
cd5458f367
ac/surf: Implement PRT layout.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953 >
2021-01-11 12:01:34 +00:00
Bas Nieuwenhuizen
dea1c06c9b
ac/surf: Prepare for 64-bit flags.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953 >
2021-01-11 12:01:34 +00:00
Pierre-Eric Pelloux-Prayer
c4427c2b53
ac/rgp: add missing include
...
The build would fail without this include if -std=gnu17 is used.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4057
Fixes: ffdfe136e6 ("ac/sqtt: move rgp/sqtt def to ac")
Reviewed-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/8376 >
2021-01-11 10:11:09 +00:00
Pierre-Eric Pelloux-Prayer
df5233b977
ac/sqtt: move radv_get_expected_buffer_size to ac
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:10:16 +01:00
Pierre-Eric Pelloux-Prayer
ea6176e63e
ac/sqtt: move ac_is_thread_trace_complete to ac
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:10:14 +01:00
Pierre-Eric Pelloux-Prayer
ffdfe136e6
ac/sqtt: move rgp/sqtt def to ac
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:09:57 +01:00
Pierre-Eric Pelloux-Prayer
4ec5cf5318
ac/radv: move radv_rgp.c to ac
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:09:49 +01:00
Pierre-Eric Pelloux-Prayer
bbc245ab2e
ac/radv: move sqtt structs and helpers to amd/common
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:09:47 +01:00
Pierre-Eric Pelloux-Prayer
04f6ba113c
ac/sqtt: add ac_thread_trace_data
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002 >
2021-01-07 10:09:45 +01:00
Marek Olšák
b94626d3ee
ac,radeonsi: limit Smart Access Memory to Zen 3 and GFX10.3 due to perf issues
...
Many people experience performance degradation on some systems.
There will be a driconf option to enable SAM on other chips as well as
disable it on enabled systems.
Fixes: d3d6d38145 - ac: add radeon_info::all_vram_visible for Smart Access Memory
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3982
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8225 >
2021-01-05 02:43:55 +00:00
Eric Anholt
6f52386544
amd: Fix leak in ac_surface_modifier_test.
...
Needed for meson test with asan enabled.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7936 >
2020-12-15 19:39:29 +00:00
Marek Olšák
2b09bde1f5
radeonsi: use a C++ template to decrease draw_vbo overhead by 13 %
...
With GALLIUM_THREAD=0 to disable draw merging.
Before:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 8736
After:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 10059
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7807 >
2020-12-09 16:01:32 -05:00
Marek Olšák
3b67c6451f
ac: unify shader arguments that are duplicated
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939 >
2020-12-09 20:13:25 +00:00
Marek Olšák
4a50096ab4
ac: add shader return values into ac_shader_args
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939 >
2020-12-09 20:13:24 +00:00
Marek Olšák
2cf44ad30a
ac: correct ac_shader_args types, remove sgpr_count
...
sgpr_count is unused. The size of the others is too small.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939 >
2020-12-09 20:13:24 +00:00
Marek Olšák
d3d6d38145
ac: add radeon_info::all_vram_visible for Smart Access Memory
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951 >
2020-12-09 10:33:46 -05:00
Samuel Pitoiset
35964e9387
ac/surface: initialize the FMASK slice size for GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7924 >
2020-12-07 16:19:22 +00:00
Samuel Pitoiset
3494551d08
radv: set the predication boolean as 32-bit if necessary
...
CTS is missing tests.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7897 >
2020-12-07 09:30:05 +00:00
Marek Olšák
8ae3ad95ef
ac: enable late allocation on VanGogh to increase perf
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7721 >
2020-12-01 15:33:03 -05:00
Pierre-Eric Pelloux-Prayer
148a24f305
amd/ac: update fallthrough comments
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7747 >
2020-12-01 10:04:41 +01:00
James Park
b3504f4173
amd/common: Check with_tests before adding test
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7819 >
2020-11-28 23:30:53 +00:00
James Park
7c521e9968
amd: Work around MSVC limit for string literals
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7791 >
2020-11-27 20:49:00 -08:00
James Park
7404907870
amd: Replace vasprintf with vfprintf
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7791 >
2020-11-27 20:49:00 -08:00
James Park
3ad8ac38c7
amd: Stub sections that don't have _WIN32 support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7791 >
2020-11-27 20:49:00 -08:00
James Park
bb1adece5e
amd: Simplify ac_addrlib_create
...
Rework ac_addrlib_create to rely solely on radeon_info without
amdgpu_gpu_info.
No longer need <amdgpu.h> to create ac_addrlib instance.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7811 >
2020-11-28 04:28:01 +00:00
Pierre-Eric Pelloux-Prayer
e5ff2a357e
ac: use bigger storage for ac_arg::arg_index / ac_shader_args::arg_count
...
AC_MAX_ARGS is now 384 so uint8_t isn't enough.
Fixes: 6f13034265 ("ac/llvm: prepare for passing VS->TCS IO via VGPRs")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7750 >
2020-11-26 10:19:26 +01:00
Samuel Pitoiset
b1558ec3ec
ac: add gpu_info::has_32bit_predication
...
32-bit predication is now supported with GFX10.3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7732 >
2020-11-25 08:13:43 +00:00
Rob Clark
53f7d539cd
util: Add helgrind support for simple_mtx
...
Annoyingly mtypes.h pulls in simple_mtx, which means we end up needing
to sprinkle a lot of idep_mesautil around.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3773
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7644 >
2020-11-24 21:03:34 +00:00
Samuel Pitoiset
cd59c22325
ac,radv: use better export formats for 8-bit when RB+ isn't allowed
...
When RB+ is enabled, R8_UINT/R8_SINT/R8_UNORM should use FP16_ABGR
for 2x exporting performance. Otherwise, use 32_R to remove useless
instructions needed for 16-bit compressed exports.
fossils-db (Vega10):
Totals from 8858 (6.35% of 139517) affected shaders:
SGPRs: 801248 -> 801210 (-0.00%); split: -0.01%, +0.00%
VGPRs: 596224 -> 596120 (-0.02%); split: -0.02%, +0.01%
CodeSize: 71462452 -> 71356684 (-0.15%); split: -0.15%, +0.00%
MaxWaves: 37097 -> 37105 (+0.02%); split: +0.04%, -0.02%
Instrs: 13963177 -> 13950809 (-0.09%); split: -0.09%, +0.00%
Cycles: 1476539360 -> 1476489996 (-0.00%); split: -0.00%, +0.00%
VMEM: 2363008 -> 2361349 (-0.07%); split: +0.04%, -0.11%
SMEM: 550362 -> 549977 (-0.07%); split: +0.01%, -0.08%
VClause: 245704 -> 245727 (+0.01%); split: -0.01%, +0.02%
SClause: 485161 -> 485104 (-0.01%); split: -0.01%, +0.00%
Copies: 1420034 -> 1422310 (+0.16%); split: -0.01%, +0.17%
Branches: 518710 -> 518705 (-0.00%)
PreSGPRs: 706633 -> 706584 (-0.01%)
PreVGPRs: 547163 -> 547007 (-0.03%); split: -0.03%, +0.01%
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7512 >
2020-11-23 17:54:16 +00:00
Marek Olšák
6f13034265
ac/llvm: prepare for passing VS->TCS IO via VGPRs
...
- bump AC_MAX_ARGS
- add vertex_index_is_invoc_id parameter into load_tess_varyings
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7623 >
2020-11-23 02:22:21 +00:00
Michel Dänzer
13b2beb415
ac: Don't negate strstr return values in ac_query_gpu_info
...
strstr returns a pointer to the needle sub-string within the haystack
string if the latter contains the former, or NULL otherwise. So this
essentially always set info->is_pro_graphics = true, since probably no
marketing name ever contains all of these sub-strings.
Fixes: b635dff256 "ac: fix detection of Pro graphics"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7675 >
2020-11-19 09:17:21 +00:00
Marek Olšák
e2b784e74b
ac: rename num_sh_per_se -> num_sa_per_se
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542 >
2020-11-18 06:19:59 +00:00
Marek Olšák
603b5340b9
ac: rename num_render_backends -> max_render_backends
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542 >
2020-11-18 06:19:59 +00:00
Marek Olšák
f2977a162a
ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs
...
Fixes: 9538b9a68e - radeonsi: add support for Sienna Cichlid
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542 >
2020-11-18 06:19:59 +00:00