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@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13535>
This commit is contained in:
Emma Anholt 2021-10-26 16:34:05 -07:00 committed by Marge Bot
parent 9b80f4d5f2
commit ba48b27a11
6 changed files with 14 additions and 14 deletions

View file

@ -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);

View file

@ -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

View file

@ -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 */

View file

@ -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)

View file

@ -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:

View file

@ -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