From b61e6b9748ccf7d6a9d62e8891621175e57c202b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 1 Nov 2024 07:14:29 -0400 Subject: [PATCH] zink: enable ioopt by default cts is fixed, so this should be fine Part-of: --- src/freedreno/ci/traces-freedreno.yml | 2 +- src/gallium/drivers/zink/ci/traces-zink.yml | 16 ++++++++-------- src/gallium/drivers/zink/zink_compiler.c | 16 ++-------------- src/gallium/drivers/zink/zink_screen.c | 3 --- src/gallium/drivers/zink/zink_types.h | 6 ++---- 5 files changed, 13 insertions(+), 30 deletions(-) diff --git a/src/freedreno/ci/traces-freedreno.yml b/src/freedreno/ci/traces-freedreno.yml index aa19da2c903..c13c1b9d533 100644 --- a/src/freedreno/ci/traces-freedreno.yml +++ b/src/freedreno/ci/traces-freedreno.yml @@ -285,7 +285,7 @@ traces: freedreno-a630: checksum: 95bbb55cc2d59dc9523120f49a2adf5d zink-a618: - checksum: f83f7ad4b147607e2a7de65a48f8ed4d + checksum: 95bbb55cc2d59dc9523120f49a2adf5d zink-a630: checksum: f83f7ad4b147607e2a7de65a48f8ed4d diff --git a/src/gallium/drivers/zink/ci/traces-zink.yml b/src/gallium/drivers/zink/ci/traces-zink.yml index 403fb16b1e1..ace24c0b91d 100644 --- a/src/gallium/drivers/zink/ci/traces-zink.yml +++ b/src/gallium/drivers/zink/ci/traces-zink.yml @@ -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: diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index bb577bf4f94..ffb992ef443 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -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, diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index a242f2925d2..78c605f2403 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -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) diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index 6302f76f6e3..cc4a139bbc9 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -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;