radeonsi: enable aco for mono standalone vs
authorQiang Yu <yuq825@gmail.com>
Fri, 28 Apr 2023 03:54:56 +0000 (11:54 +0800)
committerQiang Yu <yuq825@gmail.com>
Fri, 2 Jun 2023 09:51:23 +0000 (17:51 +0800)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23096>

src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_shader_aco.c

index 5041d2a..f6ce758 100644 (file)
@@ -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;
index c657170..7c60a62 100644 (file)
@@ -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;