Marek Olšák
b7501184b9
radeonsi: implement inlinable uniforms
...
This improves performance for uber shaders.
It must be enabled using the new driconf option.
The driver compiles the specialized shaders in another thread without stalls,
same as all other optimizations.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7057 >
2020-10-30 11:07:22 +00:00
Marek Olšák
57d317865e
radeonsi: enable NGG culling by default on Navi1x PRO cards
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7172 >
2020-10-17 01:58:19 +00:00
Marek Olšák
bc3c74e2a2
radeonsi: tweak LATE_ALLOC_GS numbers for faster NGG culling
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7172 >
2020-10-17 01:58:19 +00:00
Marek Olšák
7648060dc0
radeonsi: enable NGG culling by default on gfx10.3 dGPUs
...
for better performance
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7172 >
2020-10-17 01:58:19 +00:00
Marek Olšák
6810e6e4d0
Revert "radeonsi/gfx10: disable vertex grouping"
...
This reverts commit 42f921387b
.
It causes GPU hangs on gfx10.3.
Fixes: a23802bcb9
- ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7172 >
2020-10-17 01:58:19 +00:00
Marek Olšák
701f7ae9d2
radeonsi: move si_set_active_descriptors_for_shader into si_update_common_shader_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6948 >
2020-10-01 16:29:46 +00:00
Marek Olšák
f5912c6d32
radeonsi: kill disabled clip distances and planes at per-channel granularity
...
Apps often enable only 1 plane for gl_ClipVertex, which means 1 scalar
clip distance.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6948 >
2020-10-01 16:29:46 +00:00
Marek Olšák
30c3b2c0b6
radeonsi: simplify NGG culling enablement and add radeonsi_shader_culling option
...
Add a vertex count threshold into si_shader_selector to simplify
the draw_vbo code.
The new option is supposed to be used in 00-mesa-defaults.conf and should be
tweaked for best performance unlike the AMD_DEBUG experimental options.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6948 >
2020-10-01 16:29:46 +00:00
Pierre-Eric Pelloux-Prayer
8e2768bbfb
radeonsi/tmz: add tmz variant for sctx::tess_rings
...
tess_rings must be encrypted when used in a secure job so this commit
introduces a tess_rings_tmz resource.
The cs_preamble_state doesn't contain the tess_rings address anymore since
it can change. The tess_rings related registers go in a separate preamble.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6049 >
2020-09-24 14:51:16 +00:00
Pierre-Eric Pelloux-Prayer
5e4aecec93
radeonsi: introduce SI_RESOURCE_FLAG_INTERNAL / RADEON_FLAG_DRIVER_INTERNAL
...
Tag allocations as driver internal.
Some of these allocations will need to be doubled to handle TMZ (one secure bo,
one normal bo) but these allocations shouldn't switch the winsys in "the app
is using TMZ".
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6049 >
2020-09-24 14:51:16 +00:00
Marek Olšák
b5debe180e
radeonsi: break a binning batch on a new PS if bins can use multiple state sets
...
ported from PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6822 >
2020-09-24 11:55:06 +00:00
Marek Olšák
98188409d1
radeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6810 >
2020-09-22 15:58:51 +00:00
Marek Olšák
fc44861517
radeonsi: eliminate unused shader outputs for separate NGG geometry shaders
...
This just works because the same output export code is used for VS too.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6634 >
2020-09-08 16:59:23 +00:00
Marek Olšák
5c445be39a
radeonsi: set outputs_written_before_ps for geometry shaders too
...
it will be used in following commit
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6634 >
2020-09-08 16:59:23 +00:00
Marek Olšák
c56fbed99b
radeonsi: kill point size VS output if it's not used by the rasterizer
...
Fixed-func shaders can contain the output, because their generator
doesn't consider the current primitive type into account.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6620 >
2020-09-07 11:27:30 +00:00
Marek Olšák
234505162c
radeonsi: deduplicate setting key.mono.u.vs_export_prim_id
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6620 >
2020-09-07 11:27:30 +00:00
Marek Olšák
757f790ad8
radeonsi: remove redundant si_shader_info::uses_derivatives
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:41 +00:00
Marek Olšák
f3f08bca23
radeonsi: remove redundant si_shader_selector::max_gs_stream
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:41 +00:00
Marek Olšák
2b4fa68808
radeonsi: remove redundant GS variables in si_shader_selector
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
7960668dc9
radeonsi: remove redundant si_shader_info::writes_memory
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
99c4e61084
radeonsi: remove redundant si_shader_info::uses_kill
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
8df349a31e
radeonsi: merge uses_persp_opcode_interp_sample/uses_linear_opcode_interp_sample
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
f02cd0e027
radeonsi: remove redundant si_shader_info:*(clip|cull)* fields
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
d15a7d16d6
radeonsi: remove redundant si_shader_info::const_buffers_declared
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
0dabcb9e53
radeonsi: remove redundant si_shader_info::images_declared
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
c1af2f4bee
radeonsi: remove redundant si_shader_info::shader_buffers_declared
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
cb63e4afc9
radeonsi: remove info::samplers_declared, image_buffers, msaa_images_declared
...
They are redundant with shader_info.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
cb7bc983ae
radeonsi: stop using TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
ebe8238f1b
radeonsi: stop using TGSI_PROPERTY_FS_DEPTH_LAYOUT
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
ce0291df4a
radeonsi: stop using TGSI_PROPERTY_FS_COORD_PIXEL_CENTER
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
c597e394d4
radeonsi: stop using TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
5aeaf3d7bc
radeonsi: stop using TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
e627528e27
radeonsi: stop using TGSI_PROPERTY_GS_*
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
a8e7024792
radeonsi: stop using TGSI_PROPERTY_TES_VERTEX_ORDER_CW
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
eeea2f52c7
radeonsi: stop using TGSI_PROPERTY_TES_SPACING
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
34b8e60cb8
radeonsi: stop using TGSI_PROPERTY_TES_POINT_MODE / TES_PRIM_MODE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
a37d897d69
radeonsi: stop using TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION / VS_BLIT_SGPRS_AMD
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
46bb051bc2
radeonsi: stop using TGSI_PROPERTY_NEXT_SHADER
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624 >
2020-09-07 11:15:40 +00:00
Marek Olšák
98e866c669
radeonsi: optimize out the loop in si_get_ps_input_cntl
...
Use a remap table from a semantic to an index instead of searching
for the correct index.
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
Marek Olšák
6ecb8b6899
radeonsi: replace TGSI_SEMANTIC with VARYING_SLOT and FRAG_RESULT
...
Acked-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
Marek Olšák
a803008c7f
radeonsi: replace TGSI_INTERPOLATE with INTERP_MODE
...
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
Marek Olšák
6925401a38
radeonsi: remove 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
Marek Olšák
966307983b
radeonsi: precompute si_*_descriptors_idx in si_shader_selector
...
It helps remove one use of sel->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
Marek Olšák
3c54d73e4b
radeonsi: change PIPE_SHADER to MESA_SHADER (debug flags)
...
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
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
Marek Olšák
14391533f8
radeonsi: simplify handling color interp modes in si_emit_spi_map
...
Acked-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
Marek Olšák
81d106d6ec
radeonsi: lower IO intrinsics - complete rewrite of input/output scanning
...
Input and output info is gathered from intrinsics. nir_variables are
ignored (and we'll remove them anyway).
This is a prerequisite for ACO, but also makes the IR prettier.
The ac_nir_to_llvm change has to be in this commit.
Acked-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/6445 >
2020-09-02 22:45:38 -04:00
Marek Olšák
b7a6333ee4
amd/registers: switch to new generated register definitions
...
Acked-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/6423 >
2020-09-01 08:45:54 -04:00
Marek Olšák
633d2aa915
radeonsi: use the same units for esgs_ring_size and ngg_emit_size
...
for consistency
Fixes: a23802bcb9
- ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
8af0f91fd3
radeonsi: add reg shadowing codepaths to GS and tess ring setup
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798 >
2020-07-22 12:08:33 -04:00