asahi: add nosoft debug

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31532>
This commit is contained in:
Alyssa Rosenzweig 2024-09-21 10:54:40 -04:00 committed by Marge Bot
parent 665be681ad
commit fde518e3f3
2 changed files with 4 additions and 2 deletions

View file

@ -67,6 +67,7 @@ static const struct debug_named_value agx_debug_options[] = {
{"noborder", AGX_DBG_NOBORDER, "Disable custom border colour emulation"},
{"scratch", AGX_DBG_SCRATCH, "Debug scratch memory usage"},
{"1queue", AGX_DBG_1QUEUE, "Force usage of a single queue for multiple contexts"},
{"nosoft", AGX_DBG_NOSOFT, "Disable soft fault optimizations"},
DEBUG_NAMED_VALUE_END
};
/* clang-format on */

View file

@ -46,7 +46,7 @@ enum agx_dbg {
AGX_DBG_NOSHADOW = BITFIELD_BIT(16),
AGX_DBG_NOBORDER = BITFIELD_BIT(17),
AGX_DBG_SCRATCH = BITFIELD_BIT(18),
/* bit 19 unused */
AGX_DBG_NOSOFT = BITFIELD_BIT(19),
AGX_DBG_FEEDBACK = BITFIELD_BIT(20),
AGX_DBG_1QUEUE = BITFIELD_BIT(21),
};
@ -150,7 +150,8 @@ struct agx_device {
static inline bool
agx_has_soft_fault(struct agx_device *dev)
{
return dev->params.feat_compat & DRM_ASAHI_FEAT_SOFT_FAULTS;
return (dev->params.feat_compat & DRM_ASAHI_FEAT_SOFT_FAULTS) &&
!(dev->debug & AGX_DBG_NOSOFT);
}
static uint32_t