URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=57e658d0418c178ccacb8faf23f81a4ca37ae0aa
Author: Marek Olšák <[email protected]>
Date: Sun Nov 26 17:03:45 2023 -0500
radeonsi: rework how guardband registers are updated to decrease overhead
See the code comments.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e50b6677bf0d82dd4d21e8efb42a09ba8233a60
Author: Pierre-Eric Pelloux-Prayer <[email protected]>
Date: Thu Dec 7 09:31:22 2023 +0100
radeonsi: update guardband if vs_disables_clipping_viewport changes
Because the guardband state depends on this value.
Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f281b39abe2650d914806e4ad1288bbb1c01567
Author: Marek Olšák <[email protected]>
Date: Fri Dec 1 22:54:59 2023 -0500
ac/gpu_info: fix printing radeon_info after adding VPE
Fixes: 3ec397819e7 - amd: add new hardware ip for vpe
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=11fcd58957e6023f97c41f57526c84efa2a74d08
Author: Marek Olšák <[email protected]>
Date: Sun Nov 26 10:56:24 2023 -0500
radeonsi: convert rasterizer state to tracked registers
Most of these registers don't change, so we should not set them when they
don't. This reworks the rasterizer state to use a custom emit function and
eliminate redundant register changes. This required merging the poly_offset
state into the rasterizer state and change how the poly offset state is
updated.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cabf9277654a6dccd830d4c006c56573ab535f86
Author: Marek Olšák <[email protected]>
Date: Sun Nov 26 10:56:24 2023 -0500
radeonsi: convert depth-stencil-alpha state to tracked registers
Some of these registers don't change, so we should not set them when they
don't. This reworks the DSA state to use a custom emit function and
eliminate redundant register changes.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=17e01a9a9b743d89066ba0a42c841e9b7e7d0528
Author: Marek Olšák <[email protected]>
Date: Sun Nov 26 09:23:41 2023 -0500
radeonsi: merge context_reg_saved_mask and other_reg_saved_mask into a
BITSET
There will be more than 64 context registers that we'll need to track,
so use BITSET for all of them.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb994f44d91a4b94738ea4ebb83aab1a257ef123
Author: Marek Olšák <[email protected]>
Date: Sun Nov 26 09:23:10 2023 -0500
util: make BITSET_TEST_RANGE_INSIDE_WORD take a value to compare with
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d2a7f53acfb219910fde175a4233bd5157937f0
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 17:25:42 2023 -0500
radeonsi: decrease NUM_INTERP if export formats/colormask eliminated PS
inputs
This adds a pass that removes output stores. It's called before NIR
optimizations that are before PS lowering, which will cause it to remove
PS inputs from register settings.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd700bace5f458212cac3fb1184a5b2cbc5c8c63
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 16:18:38 2023 -0500
radeonsi: update comments about uniform inlining
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbea0f51a392ce7b54051de1e63265004deff627
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 15:37:47 2023 -0500
radeonsi: decrease NUM_INTERP if uniform inlining eliminated PS inputs
This should improve performance when that happens.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d4402b02ad7cf98250e07c09dce8f65b42d1925
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 15:32:48 2023 -0500
radeonsi: don't include the PARAM_GEN input in si_shader_info
It's only produced by lowering point smoothing.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=197af036989d23ee1191d5b3703cf88fd0b0bbe0
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 13:44:07 2023 -0500
radeonsi: add PS input info into si_shader_binary_info
It will be modified to reflect PS inputs after uniform inlining.
For now, it's just a copy of selector->info.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3faa9ba06be051973f6806ba534983fc130ea859
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 13:34:45 2023 -0500
radeonsi: gather lowered color inputs for monolithic PS
This also adds missing io_semantics to the input loads that the gathering
expects.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=94e0a1267e4ef1f2ef8b4cbdaea8e892b355db8a
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 13:33:04 2023 -0500
radeonsi: change the signature of si_nir_lower_ps_color_input
This will be needed later.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d2faa88abb3be9935a2af1515199dc5aa96f61b
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 13:29:49 2023 -0500
nir,radeonsi: add FLAGS into load_vector_arg_amd to record color input usage
This will be needed for gathering color usage from lowered PS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=00dd4d400ea283a9ebfe3fb674a48cacf5b0c484
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 11:01:42 2023 -0500
ac,radeonsi: rename pos_inputs -> fragcoord_components
Reviewed-by: Qiang Yu <[email protected]>
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f2b794e98c63b5c6171f00cdc4c51141d8181a5
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 10:49:31 2023 -0500
radeonsi: track NIR progress properly for optimizations in si_get_nir_shader
Just a small code size decrease in 12 shaders.
TOTALS FROM AFFECTED SHADERS (12/58918)
SGPRS: 600.00 -> 600.00 (0.00 %)
VGPRS: 528.00 -> 520.00 (-1.52 %)
Spilled SGPRs: 0.00 -> 0.00 (0.00 %)
Spilled VGPRs: 0.00 -> 0.00 (0.00 %)
Private memory VGPRs: 0.00 -> 0.00 (0.00 %)
Scratch size: 0.00 -> 0.00 (0.00 %) dwords per thread
Code Size: 39772.00 -> 39688.00 (-0.21 %) bytes
Max Waves: 180.00 -> 180.00 (0.00 %)
Outputs: 0.00 -> 0.00 (0.00 %)
Patch Outputs: 0.00 -> 0.00 (0.00 %)
Reviewed-by: Qiang Yu <[email protected]>
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1e35112c859bff2b5ba02397ac548af5b8317d7
Author: Marek Olšák <[email protected]>
Date: Sat Nov 25 07:41:24 2023 -0500
winsys/amdgpu: bypass GL2 for command buffers
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c77bcf00a36c0c6f2bc42a052de5152589f0a372
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 19:26:14 2023 -0500
radeonsi/gfx11: prefer Wave64 for VS/TCS/TES/GS because it's slightly faster
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=257f07f499f8b7794f4e4ca49fda98ccdb10a396
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 18:18:17 2023 -0500
radeonsi: clean up how debug flags and shader profiles determine the wave
size
- remove DBG_W32_PS_DISCARD
- just return the wave size instead of setting local variables dbg_wave_size
and profile_wave_size
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=716b521515bc5fcdd7acfcb23202032e43bffae1
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 17:49:26 2023 -0500
radeonsi/gfx11: disable the shader profile for Medical that disables binning
GFX11 performs better with the default behavior.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f85488824e6abaf3a8ae36f8ca5016c05ba8a978
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 17:49:26 2023 -0500
radeonsi/gfx11: disable the shader profile for Medical that forces Wave64
GFX10 should keep using it, but not GFX11.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=65b3b0b355de7644a3efd70143c66e4a6189024e
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 07:40:54 2023 -0500
radeonsi/gfx11: prefer Wave64 for PS without inputs for better VALU perf
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=48ce5fbaa19e2afad97ef98f66b17326fef19c14
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 10:10:24 2023 -0500
radeonsi: group most vertex element fields
fix_fetch and vertex_buffer_index can't be grouped because we do
memcmp on those arrays
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7fa0ee15df200d4a0114804e43187d26a717eb5a
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 09:51:56 2023 -0500
radeonsi: set OOB_SELECT for VBOs in si_create_vertex_elements
we can do this since the stride is in the CSO now
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=55d81214c9d800c0667337808a82143ebab17c1a
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 07:06:29 2023 -0500
radeonsi: replace gl_FrontFacing with a constant if one side is always
culled
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1afe6f33212d9ae8aeffd9f2d464df85eb5facda
Author: Marek Olšák <[email protected]>
Date: Fri Nov 10 19:16:39 2023 -0500
radeonsi: don't print the preamble state separately for GALLIUM_DDEBUG
because it's always printed as part of command buffers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e764596163a598a7b0b2082ff79d5cacd9e650c
Author: Marek Olšák <[email protected]>
Date: Fri Nov 10 19:27:37 2023 -0500
radeonsi: execute streamout_begin after cache flushes
so that si_emit_streamout_begin can assume that cache flushes have
finished.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=202285436027b5ba0519407b466240481660b545
Author: Marek Olšák <[email protected]>
Date: Fri Nov 10 19:26:20 2023 -0500
radeonsi/gfx11: skip si_set_streamout_enable because it has no effect
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf7debee82c95f15f50f616c3c800eb6e19acff2
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 05:26:44 2023 -0500
radeonsi: in bind_{blend,rs}_state, only call 1 update function per if
Also don't use "key.ps.part.prolog.color_two_side" during updates
because it would depend on the order the update functions are called,
which is not a problem now, but it's a trap for the future.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=53aa36772a1ab7764cc02498ccfec4a515393231
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 05:11:33 2023 -0500
radeonsi: rewrite si_get_total_colormask as si_any_colorbuffer_written
The result is only used as bool.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2b817b948a3ad15f163135459b388aaef4eeec3
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 04:56:56 2023 -0500
radeonsi: rewrite how shader key bits dependent on current_rast_prim are
updated
Don't set do_update_shaders every time current_rast_prim changes, which can
be EVERY DRAW. Instead, just update the shader key bits and set
do_update_shaders only if any bits are different.
When we bind a new rasterizer state, do the same.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ab5374ec361ce735e87d95550a72b9988c32f59
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 04:18:15 2023 -0500
radeonsi: clean up setting poly/line/stipple shader key bits
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9c4ac3477ba3beffbc1f12ba6f188ee332ba2e5
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 03:41:17 2023 -0500
radeonsi: update shaders for rasterizer state only if the shader key changed
Check if any key bit changed before setting do_update_shaders.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=613ea16aab501edc67115768b428673f1e05daae
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 03:41:17 2023 -0500
radeonsi: update shaders for blend state only if the shader key changed
Check if any key bit or state changed before setting do_update_shaders.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8411ddf17700bac9910b9cc1017805415fc0fdc
Author: Marek Olšák <[email protected]>
Date: Mon Nov 20 02:03:29 2023 -0500
radeonsi: change the low-priority compiler queue to normal priority
I'm guessing that low priority could cause us to get optimized shaders later
than we need.
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=98e7a7123b8af55c2aa287a5f6071db980ccfd53
Author: Marek Olšák <[email protected]>
Date: Fri Nov 24 04:49:30 2023 -0500
radeonsi: don't set non-existent VGT_GS_MAX_PRIMS_PER_SUBGROUP on gfx10
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f51b960af18f697a187fe2ed4918fb95495e5569
Author: Marek Olšák <[email protected]>
Date: Thu Nov 23 18:05:10 2023 -0500
radeonsi/gfx11: fix unaligned SET_CONTEXT_PAIRS_PACKED
It set an invalid register. Luckily it didn't cause any issues.
Fixes: 2ac6816b70d7bb - radeonsi/gfx11: use SET_CONTEXT_REG_PAIRS_PACKED
for other states
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>