diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 5041d2a1d18..f6ce7585e6e 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -2326,6 +2326,9 @@ static void si_determine_use_aco(struct si_shader *shader) return; switch (sel->stage) { + case MESA_SHADER_VERTEX: + shader->use_aco = shader->is_monolithic && !si_is_multi_part_shader(shader); + break; case MESA_SHADER_FRAGMENT: shader->use_aco = shader->is_monolithic; break; diff --git a/src/gallium/drivers/radeonsi/si_shader_aco.c b/src/gallium/drivers/radeonsi/si_shader_aco.c index c657170dbd0..7c60a623375 100644 --- a/src/gallium/drivers/radeonsi/si_shader_aco.c +++ b/src/gallium/drivers/radeonsi/si_shader_aco.c @@ -46,6 +46,7 @@ si_fill_aco_options(struct si_shader *shader, struct aco_compiler_options *optio si_can_dump_shader(sel->screen, sel->stage, SI_DUMP_ASM); options->dump_preoptir = si_can_dump_shader(sel->screen, sel->stage, SI_DUMP_INIT_ACO_IR); options->record_ir = sel->screen->record_llvm_ir; + options->is_opengl = true; options->load_grid_size_from_user_sgpr = true; options->family = sel->screen->info.family;