aco: small stage corrections
authorRhys Perry <pendingchaos02@gmail.com>
Tue, 10 Sep 2019 14:08:31 +0000 (15:08 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Tue, 22 Oct 2019 18:52:29 +0000 (18:52 +0000)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
src/amd/compiler/aco_instruction_selection_setup.cpp
src/amd/compiler/aco_ir.h

index b100ace3c8c0704c89d689fa63a5d5a27fb11f29..dce0894f4dc78a2ce5a5c99810a2ef517453c9ec 100644 (file)
@@ -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:
index 22692516098de1e431b46bbeae4ebb5f5899b8bf..7551225f718b99d42fb2a9e3cc6b06bf23eaa023 100644 (file)
@@ -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 {