From 3d18f14328d245325cc63cbca21085e38e7676c1 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 31 Jul 2024 21:27:35 -0400 Subject: [PATCH] hk,asahi: pass through soft fault to VBO lower Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/vulkan/hk_cmd_draw.c | 2 +- src/gallium/drivers/asahi/agx_state.c | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/asahi/vulkan/hk_cmd_draw.c b/src/asahi/vulkan/hk_cmd_draw.c index c964403fe6f..a34846dd0d3 100644 --- a/src/asahi/vulkan/hk_cmd_draw.c +++ b/src/asahi/vulkan/hk_cmd_draw.c @@ -2574,7 +2574,7 @@ hk_flush_dynamic_state(struct hk_cmd_buffer *cmd, struct hk_cs *cs, ? AGX_ROBUSTNESS_D3D : AGX_ROBUSTNESS_GL, - .prolog.robustness.soft_fault = false /*TODO*/, + .prolog.robustness.soft_fault = agx_has_soft_fault(&dev->dev), }; if (!key.prolog.hw) { diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index a16579812db..5f28927356e 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -2213,17 +2213,14 @@ agx_update_vs(struct agx_context *ctx, unsigned index_size_B) agx_update_shader(ctx, &ctx->vs, PIPE_SHADER_VERTEX, (union asahi_shader_key *)&key); + struct agx_device *dev = agx_device(ctx->base.screen); struct agx_fast_link_key link_key = { .prolog.vs.hw = key.hw, .prolog.vs.sw_index_size_B = key.hw ? 0 : index_size_B, /* TODO: We could optimize this */ - .prolog.vs.robustness = - { - .level = AGX_ROBUSTNESS_GL, - .soft_fault = false, - }, - + .prolog.vs.robustness.level = AGX_ROBUSTNESS_GL, + .prolog.vs.robustness.soft_fault = agx_has_soft_fault(dev), .main = ctx->vs, };