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