diff --git a/src/asahi/lib/agx_device.c b/src/asahi/lib/agx_device.c index 97299afac5f..cdaf3b04e1b 100644 --- a/src/asahi/lib/agx_device.c +++ b/src/asahi/lib/agx_device.c @@ -45,6 +45,7 @@ asahi_simple_ioctl(struct agx_device *dev, unsigned cmd, void *req) /* clang-format off */ static const struct debug_named_value agx_debug_options[] = { {"trace", AGX_DBG_TRACE, "Trace the command stream"}, + {"notess", AGX_DBG_NOTESS, "Skip draws with tessellation"}, {"no16", AGX_DBG_NO16, "Disable 16-bit support"}, {"perf", AGX_DBG_PERF, "Print performance warnings"}, #ifndef NDEBUG diff --git a/src/asahi/lib/agx_device.h b/src/asahi/lib/agx_device.h index bc5f9ff7d11..1bca61bb3bb 100644 --- a/src/asahi/lib/agx_device.h +++ b/src/asahi/lib/agx_device.h @@ -28,7 +28,7 @@ static const uint64_t AGX_SUPPORTED_INCOMPAT_FEATURES = enum agx_dbg { AGX_DBG_TRACE = BITFIELD_BIT(0), - /* bit 1 unused */ + AGX_DBG_NOTESS = BITFIELD_BIT(1), AGX_DBG_NO16 = BITFIELD_BIT(2), AGX_DBG_DIRTY = BITFIELD_BIT(3), AGX_DBG_PRECOMPILE = BITFIELD_BIT(4), diff --git a/src/asahi/vulkan/hk_cmd_draw.c b/src/asahi/vulkan/hk_cmd_draw.c index e548292da3c..b454f2d5553 100644 --- a/src/asahi/vulkan/hk_cmd_draw.c +++ b/src/asahi/vulkan/hk_cmd_draw.c @@ -3359,6 +3359,11 @@ hk_draw(struct hk_cmd_buffer *cmd, uint16_t draw_id, struct hk_draw draw_) } if (tess) { + struct hk_device *dev = hk_cmd_buffer_device(cmd); + if (unlikely(dev->dev.debug & AGX_DBG_NOTESS)) { + continue; + } + draw = hk_launch_tess(cmd, ccs, draw); if (draw.raw) {