From: Qiang Yu Date: Fri, 28 Apr 2023 07:51:09 +0000 (+0800) Subject: radeonsi: fill aco shader info for mono standalone vs X-Git-Tag: upstream/23.3.3~7693 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=142485ff64513aa27b95e5042fc1eb9e9681d5d3;p=platform%2Fupstream%2Fmesa.git radeonsi: fill aco shader info for mono standalone vs Reviewed-by: Marek Olšák Signed-off-by: Qiang Yu Part-of: --- diff --git a/src/gallium/drivers/radeonsi/si_shader_aco.c b/src/gallium/drivers/radeonsi/si_shader_aco.c index 443264a..c657170 100644 --- a/src/gallium/drivers/radeonsi/si_shader_aco.c +++ b/src/gallium/drivers/radeonsi/si_shader_aco.c @@ -60,6 +60,7 @@ static void si_fill_aco_shader_info(struct si_shader *shader, struct aco_shader_info *info) { const struct si_shader_selector *sel = shader->selector; + const union si_shader_key *key = &shader->key; info->wave_size = shader->wave_size; info->workgroup_size = si_get_max_workgroup_size(shader); @@ -69,7 +70,17 @@ si_fill_aco_shader_info(struct si_shader *shader, struct aco_shader_info *info) info->image_2d_view_of_3d = sel->screen->info.gfx_level == GFX9; + if (sel->stage <= MESA_SHADER_GEOMETRY && key->ge.as_ngg && !key->ge.as_es) { + info->is_ngg = true; + info->has_ngg_culling = key->ge.opt.ngg_culling; + info->has_ngg_early_prim_export = gfx10_ngg_export_prim_early(shader); + } + switch (sel->stage) { + case MESA_SHADER_VERTEX: + info->vs.as_es = key->ge.as_es; + info->vs.as_ls = key->ge.as_ls; + break; case MESA_SHADER_FRAGMENT: info->ps.num_interp = si_get_ps_num_interp(shader); info->ps.spi_ps_input = shader->config.spi_ps_input_ena;