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:
committed by
Marge Bot
parent
0c37d9abdf
commit
b61e6b9748
@@ -285,7 +285,7 @@ traces:
|
|||||||
freedreno-a630:
|
freedreno-a630:
|
||||||
checksum: 95bbb55cc2d59dc9523120f49a2adf5d
|
checksum: 95bbb55cc2d59dc9523120f49a2adf5d
|
||||||
zink-a618:
|
zink-a618:
|
||||||
checksum: f83f7ad4b147607e2a7de65a48f8ed4d
|
checksum: 95bbb55cc2d59dc9523120f49a2adf5d
|
||||||
zink-a630:
|
zink-a630:
|
||||||
checksum: f83f7ad4b147607e2a7de65a48f8ed4d
|
checksum: f83f7ad4b147607e2a7de65a48f8ed4d
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ traces-db:
|
|||||||
traces:
|
traces:
|
||||||
0ad/0ad-v2.trace:
|
0ad/0ad-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
checksum: 90483dd55b41141664c2fcf6fa055500
|
checksum: 0d04e54fa259d407433a7925c739900a
|
||||||
gl-zink-anv-tgl:
|
gl-zink-anv-tgl:
|
||||||
checksum: 90483dd55b41141664c2fcf6fa055500
|
checksum: 0d04e54fa259d407433a7925c739900a
|
||||||
|
|
||||||
behdad-glyphy/glyphy-v2.trace:
|
behdad-glyphy/glyphy-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
@@ -67,15 +67,15 @@ traces:
|
|||||||
|
|
||||||
gputest/pixmark-julia-fp32-v2.trace:
|
gputest/pixmark-julia-fp32-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
checksum: fbf5e44a6f46684b84e5bb5ad6d36c67
|
checksum: 83a21aa3f856af2d38e8be8391f58611
|
||||||
gl-zink-anv-tgl:
|
gl-zink-anv-tgl:
|
||||||
checksum: fbf5e44a6f46684b84e5bb5ad6d36c67
|
checksum: 83a21aa3f856af2d38e8be8391f58611
|
||||||
|
|
||||||
gputest/pixmark-julia-fp64-v2.trace:
|
gputest/pixmark-julia-fp64-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
checksum: 1760aea00af985b8cd902128235b08f6
|
checksum: 0f1ba3336186d0f24144903ff7a428c3
|
||||||
gl-zink-anv-tgl:
|
gl-zink-anv-tgl:
|
||||||
checksum: 1760aea00af985b8cd902128235b08f6
|
checksum: 0f1ba3336186d0f24144903ff7a428c3
|
||||||
|
|
||||||
gputest/pixmark-volplosion-v2.trace:
|
gputest/pixmark-volplosion-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
@@ -261,9 +261,9 @@ traces:
|
|||||||
|
|
||||||
valve/half-life-2-v2.trace:
|
valve/half-life-2-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
checksum: 8deac48993e4515589a7165e8bd14f25
|
checksum: 01392d862e0535e317e8744b5f9fe7a2
|
||||||
gl-zink-anv-tgl:
|
gl-zink-anv-tgl:
|
||||||
checksum: 8deac48993e4515589a7165e8bd14f25
|
checksum: 01392d862e0535e317e8744b5f9fe7a2
|
||||||
|
|
||||||
valve/portal-2-v2.trace:
|
valve/portal-2-v2.trace:
|
||||||
gl-zink-anv-adl:
|
gl-zink-anv-adl:
|
||||||
|
|||||||
@@ -1330,20 +1330,8 @@ zink_screen_init_compiler(struct zink_screen *screen)
|
|||||||
screen->nir_options.max_unroll_iterations_fp64 = 32;
|
screen->nir_options.max_unroll_iterations_fp64 = 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screen->driver_compiler_workarounds.io_opt) {
|
/* XXX: do any drivers need different estimates? */
|
||||||
switch (zink_driverid(screen)) {
|
screen->nir_options.varying_expression_max_cost = amd_varying_expression_max_cost;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The OpFRem and OpFMod instructions use cheap approximations of remainder,
|
The OpFRem and OpFMod instructions use cheap approximations of remainder,
|
||||||
|
|||||||
@@ -115,7 +115,6 @@ zink_debug_options[] = {
|
|||||||
{ "nobgc", ZINK_DEBUG_NOBGC, "Disable all async pipeline compiles" },
|
{ "nobgc", ZINK_DEBUG_NOBGC, "Disable all async pipeline compiles" },
|
||||||
{ "mem", ZINK_DEBUG_MEM, "Debug memory allocations" },
|
{ "mem", ZINK_DEBUG_MEM, "Debug memory allocations" },
|
||||||
{ "quiet", ZINK_DEBUG_QUIET, "Suppress warnings" },
|
{ "quiet", ZINK_DEBUG_QUIET, "Suppress warnings" },
|
||||||
{ "ioopt", ZINK_DEBUG_IOOPT, "Optimize IO" },
|
|
||||||
{ "nopc", ZINK_DEBUG_NOPC, "No precompilation" },
|
{ "nopc", ZINK_DEBUG_NOPC, "No precompilation" },
|
||||||
{ "msaaopt", ZINK_DEBUG_MSAAOPT, "Optimize out loads/stores of MSAA attachments" },
|
{ "msaaopt", ZINK_DEBUG_MSAAOPT, "Optimize out loads/stores of MSAA attachments" },
|
||||||
DEBUG_NAMED_VALUE_END
|
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);
|
zink_screen_fence_init(&screen->base);
|
||||||
|
|
||||||
if (zink_debug & ZINK_DEBUG_IOOPT)
|
|
||||||
screen->driver_compiler_workarounds.io_opt = true;
|
|
||||||
zink_screen_init_compiler(screen);
|
zink_screen_init_compiler(screen);
|
||||||
if (!disk_cache_init(screen)) {
|
if (!disk_cache_init(screen)) {
|
||||||
if (!screen->driver_name_is_inferred)
|
if (!screen->driver_name_is_inferred)
|
||||||
|
|||||||
@@ -241,9 +241,8 @@ enum zink_debug {
|
|||||||
ZINK_DEBUG_NOBGC = (1<<16),
|
ZINK_DEBUG_NOBGC = (1<<16),
|
||||||
ZINK_DEBUG_MEM = (1<<17),
|
ZINK_DEBUG_MEM = (1<<17),
|
||||||
ZINK_DEBUG_QUIET = (1<<18),
|
ZINK_DEBUG_QUIET = (1<<18),
|
||||||
ZINK_DEBUG_IOOPT = (1<<19),
|
ZINK_DEBUG_NOPC = (1<<19),
|
||||||
ZINK_DEBUG_NOPC = (1<<20),
|
ZINK_DEBUG_MSAAOPT = (1<<20),
|
||||||
ZINK_DEBUG_MSAAOPT = (1<<21),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum zink_pv_emulation_primitive {
|
enum zink_pv_emulation_primitive {
|
||||||
@@ -1485,7 +1484,6 @@ struct zink_screen {
|
|||||||
bool lower_robustImageAccess2;
|
bool lower_robustImageAccess2;
|
||||||
bool needs_zs_shader_swizzle;
|
bool needs_zs_shader_swizzle;
|
||||||
bool needs_sanitised_layer;
|
bool needs_sanitised_layer;
|
||||||
bool io_opt;
|
|
||||||
bool broken_const;
|
bool broken_const;
|
||||||
bool broken_demote;
|
bool broken_demote;
|
||||||
} driver_compiler_workarounds;
|
} driver_compiler_workarounds;
|
||||||
|
|||||||
Reference in New Issue
Block a user