radv: allow to inline all push constants even with dynamic descriptors
Dynamic descriptors are uploaded/emitted separately now. fossils-db (GFX1201): Totals from 3299 (4.14% of 79646) affected shaders: Instrs: 1811407 -> 1811391 (-0.00%); split: -0.19%, +0.19% CodeSize: 9339360 -> 9339824 (+0.00%); split: -0.15%, +0.16% Latency: 7419818 -> 7417817 (-0.03%); split: -0.06%, +0.04% InvThroughput: 1647859 -> 1647821 (-0.00%); split: -0.00%, +0.00% VClause: 30536 -> 30534 (-0.01%) SClause: 31009 -> 30642 (-1.18%); split: -1.55%, +0.37% Copies: 111591 -> 112131 (+0.48%); split: -0.72%, +1.20% PreSGPRs: 127639 -> 127628 (-0.01%) SALU: 290492 -> 291034 (+0.19%); split: -0.28%, +0.46% Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37768>
This commit is contained in:
committed by
Marge Bot
parent
a47952d495
commit
c5fa0c2a2a
@@ -32,11 +32,8 @@ allocate_inline_push_consts(const struct radv_shader_info *info, struct user_sgp
|
||||
uint64_t mask = info->inline_push_constant_mask;
|
||||
uint8_t num_push_consts = util_bitcount64(mask);
|
||||
|
||||
/* Disable the default push constants path if all constants can be inlined and if shaders don't
|
||||
* use dynamic descriptors.
|
||||
*/
|
||||
if (num_push_consts <= MIN2(remaining_sgprs + 1, AC_MAX_INLINE_PUSH_CONSTS) && info->can_inline_all_push_constants &&
|
||||
!info->loads_dynamic_offsets) {
|
||||
/* Disable the default push constants path if all constants can be inlined. */
|
||||
if (num_push_consts <= MIN2(remaining_sgprs + 1, AC_MAX_INLINE_PUSH_CONSTS) && info->can_inline_all_push_constants) {
|
||||
user_sgpr_info->inlined_all_push_consts = true;
|
||||
remaining_sgprs++;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user