mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
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:
parent
9b80f4d5f2
commit
ba48b27a11
6 changed files with 14 additions and 14 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue