From c7ec284024dcc3c1ea55d0b4dd94ff6bff8df136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 28 Apr 2022 01:14:39 -0400 Subject: [PATCH] ac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config it's always true Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/amd/common/ac_binary.c | 12 ++---------- src/amd/common/ac_binary.h | 3 +-- src/amd/common/ac_rtld.c | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/amd/common/ac_binary.c b/src/amd/common/ac_binary.c index 4fdef596132..b5b941a2820 100644 --- a/src/amd/common/ac_binary.c +++ b/src/amd/common/ac_binary.c @@ -37,11 +37,8 @@ /* Parse configuration data in .AMDGPU.config section format. */ void ac_parse_shader_binary_config(const char *data, size_t nbytes, unsigned wave_size, - bool really_needs_scratch, const struct radeon_info *info, - struct ac_shader_config *conf) + const struct radeon_info *info, struct ac_shader_config *conf) { - uint32_t scratch_size = 0; - for (size_t i = 0; i < nbytes; i += 8) { unsigned reg = util_le32_to_cpu(*(uint32_t *)(data + i)); unsigned value = util_le32_to_cpu(*(uint32_t *)(data + i + 4)); @@ -96,7 +93,7 @@ void ac_parse_shader_binary_config(const char *data, size_t nbytes, unsigned wav case R_0286E8_SPI_TMPRING_SIZE: case R_00B860_COMPUTE_TMPRING_SIZE: /* WAVESIZE is in units of 256 dwords. */ - scratch_size = value; + conf->scratch_bytes_per_wave = G_00B860_WAVESIZE(value) * 1024; break; case SPILLED_SGPRS: conf->spilled_sgprs = value; @@ -121,11 +118,6 @@ void ac_parse_shader_binary_config(const char *data, size_t nbytes, unsigned wav if (!conf->spi_ps_input_addr) conf->spi_ps_input_addr = conf->spi_ps_input_ena; - if (really_needs_scratch) { - /* sgprs spills aren't spilling */ - conf->scratch_bytes_per_wave = G_00B860_WAVESIZE(scratch_size) * 256 * 4; - } - /* GFX 10.3 internally: * - aligns VGPRS to 16 for Wave32 and 8 for Wave64 * - aligns LDS to 1024 diff --git a/src/amd/common/ac_binary.h b/src/amd/common/ac_binary.h index 5eae2d50baa..2db4a17eb6f 100644 --- a/src/amd/common/ac_binary.h +++ b/src/amd/common/ac_binary.h @@ -51,8 +51,7 @@ struct ac_shader_config { }; void ac_parse_shader_binary_config(const char *data, size_t nbytes, unsigned wave_size, - bool really_needs_scratch, const struct radeon_info *info, - struct ac_shader_config *conf); + const struct radeon_info *info, struct ac_shader_config *conf); #ifdef __cplusplus } diff --git a/src/amd/common/ac_rtld.c b/src/amd/common/ac_rtld.c index dab2e251f5b..0da1a7298a5 100644 --- a/src/amd/common/ac_rtld.c +++ b/src/amd/common/ac_rtld.c @@ -526,7 +526,7 @@ bool ac_rtld_read_config(const struct radeon_info *info, struct ac_rtld_binary * /* TODO: be precise about scratch use? */ struct ac_shader_config c = {0}; - ac_parse_shader_binary_config(config_data, config_nbytes, binary->wave_size, true, info, &c); + ac_parse_shader_binary_config(config_data, config_nbytes, binary->wave_size, info, &c); config->num_sgprs = MAX2(config->num_sgprs, c.num_sgprs); config->num_vgprs = MAX2(config->num_vgprs, c.num_vgprs);