Mesa (main): etnaviv: Switch to the NIR compiler by default.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 1 20:55:31 UTC 2021


Module: Mesa
Branch: main
Commit: ba48b27a11a9b340a66121542ebe159731d8db84
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba48b27a11a9b340a66121542ebe159731d8db84

Author: Emma Anholt <emma at anholt.net>
Date:   Tue Oct 26 16:34:05 2021 -0700

etnaviv: Switch to the NIR compiler by default.

This was the conclusion for the next action in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12889, and I
wanted to get moving on it as part of !8044.  I made the change as
mechanical as possible to ease review.

Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13535>

---

 src/gallium/drivers/etnaviv/etnaviv_compiler.c      |  2 +-
 src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c |  2 +-
 src/gallium/drivers/etnaviv/etnaviv_debug.h         |  2 +-
 src/gallium/drivers/etnaviv/etnaviv_disk_cache.c    |  2 +-
 src/gallium/drivers/etnaviv/etnaviv_screen.c        | 16 ++++++++--------
 src/gallium/drivers/etnaviv/etnaviv_shader.c        |  4 ++--
 6 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
index 119a0e21e41..f2b217639a5 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
@@ -35,7 +35,7 @@ etna_compiler_create(const char *renderer)
 {
    struct etna_compiler *compiler = rzalloc(NULL, struct etna_compiler);
 
-   if (!DBG_ENABLED(ETNA_DBG_NIR))
+   if (DBG_ENABLED(ETNA_DBG_TGSI))
       return compiler;
 
    compiler->regs = etna_ra_setup(compiler);
diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c
index 7f7e0b6704c..32869f110b8 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c
@@ -2324,7 +2324,7 @@ copy_uniform_state_to_shader(struct etna_compile *c, struct etna_shader_variant
 bool
 etna_compile_shader(struct etna_shader_variant *v)
 {
-   if (DBG_ENABLED(ETNA_DBG_NIR))
+   if (!DBG_ENABLED(ETNA_DBG_TGSI))
       return etna_compile_shader_nir(v);
 
    /* Create scratch space that may be too large to fit on stack
diff --git a/src/gallium/drivers/etnaviv/etnaviv_debug.h b/src/gallium/drivers/etnaviv/etnaviv_debug.h
index 7b526553d41..9b79fad9b11 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_debug.h
+++ b/src/gallium/drivers/etnaviv/etnaviv_debug.h
@@ -53,7 +53,7 @@
 #define ETNA_DBG_DRAW_STALL      0x400000 /* Stall FE/PE after every draw op */
 #define ETNA_DBG_SHADERDB        0x800000 /* dump program compile information */
 #define ETNA_DBG_NO_SINGLEBUF    0x1000000 /* disable single buffer feature */
-#define ETNA_DBG_NIR             0x2000000 /* use new NIR compiler */
+#define ETNA_DBG_TGSI            0x2000000 /* use old TGSI compiler */
 #define ETNA_DBG_DEQP            0x4000000 /* Hacks to run dEQP GLES3 tests */
 #define ETNA_DBG_NOCACHE         0x8000000 /* Disable shader cache */
 
diff --git a/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c b/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c
index 321cbe9c462..a1ddb88a166 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c
@@ -34,7 +34,7 @@
 void
 etna_disk_cache_init(struct etna_compiler *compiler, const char *renderer)
 {
-   if (!(etna_mesa_debug & ETNA_DBG_NIR))
+   if (etna_mesa_debug & ETNA_DBG_TGSI)
       return;
 
    if (etna_mesa_debug & ETNA_DBG_NOCACHE)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 506e96c6eb8..0f8dcb49528 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -71,7 +71,7 @@ static const struct debug_named_value etna_debug_options[] = {
    {"draw_stall",     ETNA_DBG_DRAW_STALL, "Stall FE/PE after each rendered primitive"},
    {"shaderdb",       ETNA_DBG_SHADERDB, "Enable shaderdb output"},
    {"no_singlebuffer",ETNA_DBG_NO_SINGLEBUF, "Disable single buffer feature"},
-   {"nir",            ETNA_DBG_NIR, "use new NIR compiler"},
+   {"tgsi",           ETNA_DBG_TGSI, "use old TGSI compiler"},
    {"deqp",           ETNA_DBG_DEQP, "Hacks to run dEQP GLES3 tests"}, /* needs MESA_GLES_VERSION_OVERRIDE=3.0 */
    {"nocache",        ETNA_DBG_NOCACHE,    "Disable shader cache"},
    DEBUG_NAMED_VALUE_END
@@ -159,7 +159,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
       return screen->drm_version >= ETNA_DRM_VERSION_FENCE_FD;
    case PIPE_CAP_TGSI_FS_POSITION_IS_SYSVAL:
    case PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL: /* note: not integer */
-      return DBG_ENABLED(ETNA_DBG_NIR);
+      return !DBG_ENABLED(ETNA_DBG_TGSI);
    case PIPE_CAP_TGSI_FS_POINT_IS_SYSVAL:
       return 0;
 
@@ -180,7 +180,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
       return VIV_FEATURE(screen, chipMinorFeatures1, HALTI0);
 
    case PIPE_CAP_ALPHA_TEST:
-      if (DBG_ENABLED(ETNA_DBG_NIR))
+      if (!DBG_ENABLED(ETNA_DBG_TGSI))
          return !VIV_FEATURE(screen, chipMinorFeatures7, PE_NO_ALPHA_TEST);
       else
          return 1;
@@ -211,7 +211,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
 
    /* Texturing. */
    case PIPE_CAP_TEXTURE_SHADOW_MAP:
-      return DBG_ENABLED(ETNA_DBG_NIR) && screen->specs.halti >= 2;
+      return !DBG_ENABLED(ETNA_DBG_TGSI) && screen->specs.halti >= 2;
    case PIPE_CAP_MAX_TEXTURE_2D_SIZE:
    case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: /* TODO: verify */
       return screen->specs.max_texture_size;
@@ -328,7 +328,7 @@ etna_screen_get_shader_param(struct pipe_screen *pscreen,
                              enum pipe_shader_cap param)
 {
    struct etna_screen *screen = etna_screen(pscreen);
-   bool ubo_enable = screen->specs.halti >= 2 && DBG_ENABLED(ETNA_DBG_NIR);
+   bool ubo_enable = screen->specs.halti >= 2 && !DBG_ENABLED(ETNA_DBG_TGSI);
 
    if (DBG_ENABLED(ETNA_DBG_DEQP))
       ubo_enable = true;
@@ -387,14 +387,14 @@ etna_screen_get_shader_param(struct pipe_screen *pscreen,
    case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS:
       return 0;
    case PIPE_SHADER_CAP_INTEGERS:
-      return DBG_ENABLED(ETNA_DBG_NIR) && screen->specs.halti >= 2;
+      return !DBG_ENABLED(ETNA_DBG_TGSI) && screen->specs.halti >= 2;
    case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
    case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
       return shader == PIPE_SHADER_FRAGMENT
                 ? screen->specs.fragment_sampler_count
                 : screen->specs.vertex_sampler_count;
    case PIPE_SHADER_CAP_PREFERRED_IR:
-      return DBG_ENABLED(ETNA_DBG_NIR) ? PIPE_SHADER_IR_NIR : PIPE_SHADER_IR_TGSI;
+      return !DBG_ENABLED(ETNA_DBG_TGSI) ? PIPE_SHADER_IR_NIR : PIPE_SHADER_IR_TGSI;
    case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
       if (ubo_enable)
          return 16384; /* 16384 so state tracker enables UBOs */
@@ -409,7 +409,7 @@ etna_screen_get_shader_param(struct pipe_screen *pscreen,
       return false;
    case PIPE_SHADER_CAP_SUPPORTED_IRS:
       return (1 << PIPE_SHADER_IR_TGSI) |
-             (DBG_ENABLED(ETNA_DBG_NIR) ? 1 << PIPE_SHADER_IR_NIR : 0);
+             (!DBG_ENABLED(ETNA_DBG_TGSI) ? 1 << PIPE_SHADER_IR_NIR : 0);
    case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
       return 32;
    case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c
index 80ef7f6ba24..63225eb1ae3 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_shader.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_shader.c
@@ -132,7 +132,7 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs,
    }
 #endif
 
-   if (DBG_ENABLED(ETNA_DBG_NIR))
+   if (!DBG_ENABLED(ETNA_DBG_TGSI))
       failed = etna_link_shader_nir(&link, vs, fs);
    else
       failed = etna_link_shader(&link, vs, fs);
@@ -468,7 +468,7 @@ etna_create_shader_state(struct pipe_context *pctx,
    shader->specs = &screen->specs;
    shader->compiler = screen->compiler;
 
-   if (DBG_ENABLED(ETNA_DBG_NIR))
+   if (!DBG_ENABLED(ETNA_DBG_TGSI))
       shader->nir = (pss->type == PIPE_SHADER_IR_NIR) ? pss->ir.nir :
                      tgsi_to_nir(pss->tokens, pctx->screen, false);
    else



More information about the mesa-commit mailing list