From f6f15859de8ca1dc184728c7bb815f2de9a8a741 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 10 Sep 2019 15:08:31 +0100 Subject: [PATCH] aco: small stage corrections MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann --- .../aco_instruction_selection_setup.cpp | 7 ++++--- src/amd/compiler/aco_ir.h | 17 +++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index b100ace3c8c..dce0894f4dc 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -887,11 +887,12 @@ static bool needs_view_index_sgpr(isel_context *ctx) case tess_eval_vs: return ctx->program->info->needs_multiview_view_index && ctx->options->key.has_multiview_view_index; case vertex_ls: - case vertex_tess_control_ls: - case vertex_geometry_es: + case vertex_es: + case vertex_tess_control_hs: + case vertex_geometry_gs: case tess_control_hs: case tess_eval_es: - case tess_eval_geometry_es: + case tess_eval_geometry_gs: case geometry_gs: return ctx->program->info->needs_multiview_view_index; default: diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index 22692516098..7551225f718 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -1029,10 +1029,10 @@ static constexpr Stage sw_mask = 0x3f; /* hardware stages (can't be OR'd, just a mask for convenience when testing multiple) */ static constexpr Stage hw_vs = 1 << 6; -static constexpr Stage hw_es = 1 << 7; -static constexpr Stage hw_gs = 1 << 8; /* not on GFX9. combined into ES on GFX9 (and GFX10/legacy). */ -static constexpr Stage hw_ls = 1 << 9; -static constexpr Stage hw_hs = 1 << 10; /* not on GFX9. combined into LS on GFX9 (and GFX10/legacy). */ +static constexpr Stage hw_es = 1 << 7; /* not on GFX9. combined into GS on GFX9 (and GFX10/legacy). */ +static constexpr Stage hw_gs = 1 << 8; +static constexpr Stage hw_ls = 1 << 9; /* not on GFX9. combined into HS on GFX9 (and GFX10/legacy). */ +static constexpr Stage hw_hs = 1 << 10; static constexpr Stage hw_fs = 1 << 11; static constexpr Stage hw_cs = 1 << 12; static constexpr Stage hw_mask = 0x7f << 6; @@ -1048,13 +1048,14 @@ static constexpr Stage ngg_vertex_geometry_gs = sw_vs | sw_gs | hw_gs; static constexpr Stage ngg_tess_eval_geometry_gs = sw_tes | sw_gs | hw_gs; static constexpr Stage ngg_vertex_tess_control_hs = sw_vs | sw_tcs | hw_hs; /* GFX9 (and GFX10 if NGG isn't used) */ -static constexpr Stage vertex_geometry_es = sw_vs | sw_gs | hw_es; -static constexpr Stage vertex_tess_control_ls = sw_vs | sw_tcs | hw_ls; -static constexpr Stage tess_eval_geometry_es = sw_tes | sw_gs | hw_es; +static constexpr Stage vertex_geometry_gs = sw_vs | sw_gs | hw_gs; +static constexpr Stage vertex_tess_control_hs = sw_vs | sw_tcs | hw_hs; +static constexpr Stage tess_eval_geometry_gs = sw_tes | sw_gs | hw_gs; /* pre-GFX9 */ static constexpr Stage vertex_ls = sw_vs | hw_ls; /* vertex before tesselation control */ +static constexpr Stage vertex_es = sw_vs | hw_es; /* vertex before geometry */ static constexpr Stage tess_control_hs = sw_tcs | hw_hs; -static constexpr Stage tess_eval_es = sw_tes | hw_gs; /* tesselation evaluation before GS */ +static constexpr Stage tess_eval_es = sw_tes | hw_gs; /* tesselation evaluation before geometry */ static constexpr Stage geometry_gs = sw_gs | hw_gs; class Program final { -- 2.30.2