radv: store cb_shader_mask for fragment shaders and epilogs

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28976>
This commit is contained in:
Samuel Pitoiset
2024-04-30 08:50:38 +02:00
committed by Marge Bot
parent 0ce1bfc040
commit 66d4188ec5
6 changed files with 9 additions and 3 deletions

View File

@@ -2289,6 +2289,7 @@ radv_shader_part_create(struct radv_device *device, struct radv_shader_part_bina
shader_part->disasm_string = binary->disasm_size ? strdup((const char *)(binary->data + binary->code_size)) : NULL;
shader_part->spi_shader_col_format = binary->info.spi_shader_col_format;
shader_part->cb_shader_mask = binary->info.cb_shader_mask;
shader_part->spi_shader_z_format = binary->info.spi_shader_z_format;
/* Allocate memory and upload. */
@@ -2808,6 +2809,7 @@ radv_create_ps_epilog(struct radv_device *device, const struct radv_ps_epilog_ke
aco_compile_ps_epilog(&ac_opts, &ac_info, &ac_epilog_info, &args.ac, &radv_aco_build_shader_part, (void **)&binary);
binary->info.spi_shader_col_format = key->spi_shader_col_format;
binary->info.cb_shader_mask = ac_get_cb_shader_mask(key->spi_shader_col_format);
binary->info.spi_shader_z_format = key->spi_shader_z_format;
epilog = radv_shader_part_create(device, binary, info.wave_size);