Marek Olšák
b1cb72c449
radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_selector::type)
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6340 >
2020-09-02 23:03:00 -04:00
Pierre-Eric Pelloux-Prayer
5a05f9714b
radeonsi: bump SI_NUM_SHADER_BUFFERS to 32
...
Some app uses more than 8 SSBOs (https://gitlab.freedesktop.org/mesa/mesa/-/issues/2946 ),
so increase SI_NUM_SHADER_BUFFERS to 32 (which allows 16 SSBOs).
Since we're now using a 64 bits number to track buffers, we could bump
SI_NUM_SHADER_BUFFERS to 48 but that would conflict with Mesa's
MAX_COMBINED_ATOMIC_BUFFERS limit (= 90).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2122
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5632 >
2020-06-30 09:23:14 +02:00
Marek Olšák
1c1d34a67a
radeonsi: rename init_config states to cs_preamble states
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5603 >
2020-06-26 07:02:57 +00:00
Pierre-Eric Pelloux-Prayer
d7008fe46a
radeonsi: switch to 3-spaces style
...
Generated automatically using clang-format and the following config:
AlignAfterOpenBracket: true
AlignConsecutiveMacros: true
AllowAllArgumentsOnNextLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlwaysBreakAfterReturnType: None
BasedOnStyle: LLVM
BraceWrapping:
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterStruct: false
BeforeElse: false
SplitEmptyFunction: true
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Custom
ColumnLimit: 100
ContinuationIndentWidth: 3
Cpp11BracedListStyle: false
Cpp11BracedListStyle: true
ForEachMacros:
- LIST_FOR_EACH_ENTRY
- LIST_FOR_EACH_ENTRY_SAFE
- util_dynarray_foreach
- nir_foreach_variable
- nir_foreach_variable_safe
- nir_foreach_register
- nir_foreach_register_safe
- nir_foreach_use
- nir_foreach_use_safe
- nir_foreach_if_use
- nir_foreach_if_use_safe
- nir_foreach_def
- nir_foreach_def_safe
- nir_foreach_phi_src
- nir_foreach_phi_src_safe
- nir_foreach_parallel_copy_entry
- nir_foreach_instr
- nir_foreach_instr_reverse
- nir_foreach_instr_safe
- nir_foreach_instr_reverse_safe
- nir_foreach_function
- nir_foreach_block
- nir_foreach_block_safe
- nir_foreach_block_reverse
- nir_foreach_block_reverse_safe
- nir_foreach_block_in_cf_node
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '<[[:alnum:].]+>'
Priority: 2
- Regex: '.*'
Priority: 1
IndentWidth: 3
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyExcessCharacter: 100
SpaceAfterCStyleCast: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: false
SpacesInContainerLiterals: false
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4319 >
2020-03-30 11:05:52 +00:00
Marek Olšák
5fa2ab831e
radeonsi: fork tgsi_shader_info and tgsi_tessctrl_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
2020-01-14 18:46:07 -05:00
Marek Olšák
1e03b63b3b
radeonsi: rename desc_list_byte_size -> vb_desc_list_alloc_size
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
88efb63caf
radeonsi/gfx10: implement Wave32
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
921c1d24d5
ac/rtld: add support for Wave32
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-07-19 20:16:19 -04:00
Marek Olšák
3be4ed2fe1
radeonsi: fix and clean up shader_type passing
...
- don't pass it via a parameter if it can be derived from other parameters
- set shader_type for ac_rtld_open
- use enum pipe_shader_type instead of unsigned
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Dave Airlie <airlied@redhat.com >
2019-07-09 17:24:16 -04:00
Samuel Pitoiset
49e5136887
ac: select the GFX ring when halting waves with UMR on GFX10
...
GFX10 has two rings, so UMR want to know which one to halt.
Select the first one by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-08 09:10:57 +02:00
Nicolai Hähnle
efe1cd4859
radeonsi/gfx10: use the correct register for image descriptor dumping
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-07-03 15:51:12 -04:00
Marek Olšák
abe9a51d27
ac: add radeon_info::is_amdgpu instead of checking drm_major == 3
...
and clean up
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2019-06-14 13:31:18 -04:00
Nicolai Hähnle
f8315ae04b
amd/rtld: layout and relocate LDS symbols
...
Upcoming changes to LLVM will emit LDS objects as symbols in the ELF
symbol table, with relocations that will be resolved with this change.
Callers will also be able to define LDS symbols that are shared between
shader parts. This will be used by radeonsi for the ESGS ring in gfx9+
merged shaders.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-06-12 20:28:23 -04:00
Nicolai Hähnle
bf8a1ca902
radeonsi: use the new run-time linker for shaders
...
v2:
- fix a memory leak
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-06-12 20:28:23 -04:00
Nicolai Hähnle
66da60f4da
radeonsi: dump shader binary buffer contents
...
Help identify bugs related to corruption of shaders in memory,
or errors in shader upload / rtld.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-06-12 20:28:23 -04:00
Nicolai Hähnle
f480b8aaa4
amd/common: use generated register header
2019-06-03 20:05:20 -04:00
Marek Olšák
c9b7a37b8f
radeonsi: cull primitives with async compute for large draw calls
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2019-05-16 13:13:34 -04:00
Marek Olšák
ccfcb9d818
ac: rename SI-CIK-VI to GFX6-GFX7-GFX8
...
Acked-by: Dave Airlie <airlied@redhat.com >
We already use GFX9 and I don't want us to have confusing naming
in the driver. GFXn naming is better from the driver perspective,
because it's the real version of the gfx portion of the hw. Also,
CIK means Bonaire-Kaveri-Kabini, it doesn't mean CI.
It shouldn't confuse our SDMA, UVD, VCE etc. code much. Those have
nothing to do with GFXn and they have their own version numbers.
2019-05-15 20:54:10 -04:00
Nicolai Hähnle
ca95adf8ff
radeonsi: add radeonsi_aux_debug option for aux context debug dumps
...
Enabling this option will create ddebug-style dumps for the aux context,
except that instead of intercepting the pipe_context layer
we just dump the IB contents on flush.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-04-25 12:35:27 +02:00
Marek Olšák
501ff90a95
radeonsi: rename r600_resource -> si_resource
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-01-22 13:32:18 -05:00
Nicolai Hähnle
556c4c42b7
radeonsi: avoid using hard-coded SI_NUM_RW_BUFFERS
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2018-12-19 12:01:48 +01:00
Nicolai Hähnle
1e49d72317
radeonsi: show the fixed function TCS in debug dumps
...
This is rather important for merged VS/TCS as LSHS shaders...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2018-12-19 12:01:45 +01:00
Marek Olšák
6b1e0e51e6
radeonsi: rework RADEON_PRIO flags to be <= 31
...
This decreases sizeof(struct amdgpu_cs_buffer) from 24 to 16 bytes.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2018-07-16 13:32:33 -04:00
Marek Olšák
54ad9b444c
radeonsi: merge DCC/CMASK/HTILE priority flags
...
For a later simplification.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2018-07-16 13:32:33 -04:00
Marek Olšák
3e6888e5d7
radeonsi: remove non-GFX BO priority flags
...
For a later simplification.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2018-07-16 13:32:33 -04:00
Marek Olšák
1ba87f4438
radeonsi: rename r600_texture -> si_texture, rxxx -> xxx or sxxx
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2018-06-19 13:08:50 -04:00
Marek Olšák
6703fec58c
amd,radeonsi: rename radeon_winsys_cs -> radeon_cmdbuf
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2018-06-19 13:08:50 -04:00
Marek Olšák
a2e9d9b4c1
ac/gpu_info: add has_read_registers_query
...
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2018-05-10 18:40:11 -04:00
Marek Olšák
6ff0c6f4eb
gallium: move ddebug, noop, rbug, trace to auxiliary to improve build times
...
which also simplifies the build scripts.
2018-04-13 14:08:14 -04:00
Nicolai Hähnle
41e6ffee49
radeonsi: correctly parse disassembly with labels
...
LLVM now emits labels as part of the disassembly string, which is very
useful but breaks the old parsing approach.
Use the semicolon to detect the boundary of instructions instead of going
by line breaks.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2018-04-11 12:44:30 +02:00
Nicolai Hähnle
0630e52c9e
radeonsi: pass -O halt_waves to umr for hang debugging
...
This will give us meaningful wave information in the case of a hang where
shaders are still running in an infinite loop.
Note that we call umr multiple times for different sections of the ddebug
hang dump, and so the wave information will not necessarily match up
between sections.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2018-04-11 12:44:24 +02:00
Marek Olšák
6a93441295
radeonsi: remove r600_common_context
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
5f77361d2e
radeonsi: remove r600_pipe_common::screen
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
4c5efc40f4
radeonsi: update copyrights
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
71d9028b7a
radeonsi: use r600_common_context less pt1
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
2b70dd8c8a
radeonsi: flatten / remove struct r600_ring
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
c0987d8adf
radeonsi: move saved_cs functions from r600_pipe_common.c to si_debug.c
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
42500d1dab
radeonsi: move si_destroy_saved_cs to si_debug.c
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
5c125ab1ba
radeonsi: remove r600_pipe_common::check_vm_faults
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
2018-04-05 15:34:58 -04:00
Marek Olšák
8d6e6b1d7c
radeonsi: don't use struct si_descriptors for vertex buffer descriptors
...
VBO descriptor code will change a lot one day.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2018-02-26 12:01:00 +01:00
Marek Olšák
ba59064409
radeonsi: print the buffer list for CHECK_VM
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-12-06 15:19:02 +01:00
Marek Olšák
950221f923
radeonsi: remove r600_common_screen
...
Most files in gallium/radeon now include si_pipe.h.
chip_class and family are now here:
sscreen->info.family
sscreen->info.chip_class
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-11-29 18:21:30 +01:00
Nicolai Hähnle
1a6d9e087a
radeonsi: record and dump time of flush
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2017-11-09 14:01:04 +01:00
Marek Olšák
529cdce799
radeonsi: remove 'Authors:' comments
...
It's inaccurate. Instead, see the copyright and use "git log" and
"git blame" to know the authorship.
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-11-02 18:19:03 +01:00
Marek Olšák
3784ce9782
radeonsi: enumerize DBG flags
...
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-10-09 16:20:16 +02:00
Marek Olšák
15d918e46f
radeonsi: inline struct si_sampler_views
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-10-06 02:56:11 +02:00
Marek Olšák
06bfb2d28f
r600: fork and import gallium/radeon
...
This marks the end of code sharing between r600 and radeonsi.
It's getting difficult to work on radeonsi without breaking r600.
A lot of functions had to be renamed to prevent linker conflicts.
There are also minor cleanups.
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
2017-09-26 04:21:14 +02:00
Samuel Pitoiset
f0d09d9012
radeonsi: move si_get_wave_info() to AMD common code
...
This will allow us to use it from radv.
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 >
2017-09-14 10:37:57 +02:00
Nicolai Hähnle
7e4344151f
radeonsi: fix segfault in descriptor dumping
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2017-09-13 18:24:18 +02:00
Nicolai Hähnle
274f1dace7
amd/common: pass chip_class to ac_dump_reg
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
2017-09-06 09:59:17 +02:00