zink: enable ioopt by default

cts is fixed, so this should be fine

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31935>
This commit is contained in:
Mike Blumenkrantz 2024-11-01 07:14:29 -04:00 committed by Marge Bot
parent 0c37d9abdf
commit b61e6b9748
5 changed files with 13 additions and 30 deletions

View file

@ -285,7 +285,7 @@ traces:
freedreno-a630:
checksum: 95bbb55cc2d59dc9523120f49a2adf5d
zink-a618:
checksum: f83f7ad4b147607e2a7de65a48f8ed4d
checksum: 95bbb55cc2d59dc9523120f49a2adf5d
zink-a630:
checksum: f83f7ad4b147607e2a7de65a48f8ed4d

View file

@ -6,9 +6,9 @@ traces-db:
traces:
0ad/0ad-v2.trace:
gl-zink-anv-adl:
checksum: 90483dd55b41141664c2fcf6fa055500
checksum: 0d04e54fa259d407433a7925c739900a
gl-zink-anv-tgl:
checksum: 90483dd55b41141664c2fcf6fa055500
checksum: 0d04e54fa259d407433a7925c739900a
behdad-glyphy/glyphy-v2.trace:
gl-zink-anv-adl:
@ -67,15 +67,15 @@ traces:
gputest/pixmark-julia-fp32-v2.trace:
gl-zink-anv-adl:
checksum: fbf5e44a6f46684b84e5bb5ad6d36c67
checksum: 83a21aa3f856af2d38e8be8391f58611
gl-zink-anv-tgl:
checksum: fbf5e44a6f46684b84e5bb5ad6d36c67
checksum: 83a21aa3f856af2d38e8be8391f58611
gputest/pixmark-julia-fp64-v2.trace:
gl-zink-anv-adl:
checksum: 1760aea00af985b8cd902128235b08f6
checksum: 0f1ba3336186d0f24144903ff7a428c3
gl-zink-anv-tgl:
checksum: 1760aea00af985b8cd902128235b08f6
checksum: 0f1ba3336186d0f24144903ff7a428c3
gputest/pixmark-volplosion-v2.trace:
gl-zink-anv-adl:
@ -261,9 +261,9 @@ traces:
valve/half-life-2-v2.trace:
gl-zink-anv-adl:
checksum: 8deac48993e4515589a7165e8bd14f25
checksum: 01392d862e0535e317e8744b5f9fe7a2
gl-zink-anv-tgl:
checksum: 8deac48993e4515589a7165e8bd14f25
checksum: 01392d862e0535e317e8744b5f9fe7a2
valve/portal-2-v2.trace:
gl-zink-anv-adl:

View file

@ -1330,20 +1330,8 @@ zink_screen_init_compiler(struct zink_screen *screen)
screen->nir_options.max_unroll_iterations_fp64 = 32;
}
if (screen->driver_compiler_workarounds.io_opt) {
switch (zink_driverid(screen)) {
case VK_DRIVER_ID_MESA_RADV:
case VK_DRIVER_ID_AMD_OPEN_SOURCE:
case VK_DRIVER_ID_AMD_PROPRIETARY:
screen->nir_options.varying_expression_max_cost = amd_varying_expression_max_cost;
break;
default:
mesa_logw("zink: instruction costs not implemented for this implementation!");
screen->nir_options.varying_expression_max_cost = amd_varying_expression_max_cost;
}
} else {
screen->nir_options.io_options |= nir_io_dont_optimize;
}
/* XXX: do any drivers need different estimates? */
screen->nir_options.varying_expression_max_cost = amd_varying_expression_max_cost;
/*
The OpFRem and OpFMod instructions use cheap approximations of remainder,

View file

@ -115,7 +115,6 @@ zink_debug_options[] = {
{ "nobgc", ZINK_DEBUG_NOBGC, "Disable all async pipeline compiles" },
{ "mem", ZINK_DEBUG_MEM, "Debug memory allocations" },
{ "quiet", ZINK_DEBUG_QUIET, "Suppress warnings" },
{ "ioopt", ZINK_DEBUG_IOOPT, "Optimize IO" },
{ "nopc", ZINK_DEBUG_NOPC, "No precompilation" },
{ "msaaopt", ZINK_DEBUG_MSAAOPT, "Optimize out loads/stores of MSAA attachments" },
DEBUG_NAMED_VALUE_END
@ -3547,8 +3546,6 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
}
zink_screen_fence_init(&screen->base);
if (zink_debug & ZINK_DEBUG_IOOPT)
screen->driver_compiler_workarounds.io_opt = true;
zink_screen_init_compiler(screen);
if (!disk_cache_init(screen)) {
if (!screen->driver_name_is_inferred)

View file

@ -241,9 +241,8 @@ enum zink_debug {
ZINK_DEBUG_NOBGC = (1<<16),
ZINK_DEBUG_MEM = (1<<17),
ZINK_DEBUG_QUIET = (1<<18),
ZINK_DEBUG_IOOPT = (1<<19),
ZINK_DEBUG_NOPC = (1<<20),
ZINK_DEBUG_MSAAOPT = (1<<21),
ZINK_DEBUG_NOPC = (1<<19),
ZINK_DEBUG_MSAAOPT = (1<<20),
};
enum zink_pv_emulation_primitive {
@ -1485,7 +1484,6 @@ struct zink_screen {
bool lower_robustImageAccess2;
bool needs_zs_shader_swizzle;
bool needs_sanitised_layer;
bool io_opt;
bool broken_const;
bool broken_demote;
} driver_compiler_workarounds;