From eac8f1d4602cb1e44793b959c5680c92c9854be7 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 4 Nov 2024 16:40:06 +0100 Subject: [PATCH] Revert "panfrost: Disable CRC by default" There's been a bunch of CRC fixes applied recently. Let's see if this allows us to default to this as enabled instead. This reverts commit fc30fe5bc5e744dd1cdb7a69cc8a5c382e940fbe. Part-of: --- src/gallium/drivers/panfrost/pan_resource.c | 7 ++----- src/gallium/drivers/panfrost/pan_screen.c | 2 +- src/panfrost/lib/pan_util.h | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index c2d33e0a545..5cc05862863 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -526,10 +526,6 @@ static bool panfrost_should_checksum(const struct panfrost_device *dev, const struct panfrost_resource *pres) { - /* Checksumming is disabled by default due to fundamental unsoundness */ - if (!(dev->debug & PAN_DBG_CRC)) - return false; - /* When checksumming is enabled, the tile data must fit in the * size of the writeback buffer, so don't checksum formats * that use too much space. */ @@ -540,7 +536,8 @@ panfrost_should_checksum(const struct panfrost_device *dev, util_format_get_blocksize(pres->base.format); return pres->base.bind & PIPE_BIND_RENDER_TARGET && panfrost_is_2d(pres) && - bytes_per_pixel <= bytes_per_pixel_max && pres->base.last_level == 0; + bytes_per_pixel <= bytes_per_pixel_max && + pres->base.last_level == 0 && !(dev->debug & PAN_DBG_NO_CRC); } static void diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index dd024c10190..abf47ac7ce4 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -66,7 +66,7 @@ static const struct debug_named_value panfrost_debug_options[] = { {"nofp16", PAN_DBG_NOFP16, "Disable 16-bit support"}, {"gl3", PAN_DBG_GL3, "Enable experimental GL 3.x implementation, up to 3.3"}, {"noafbc", PAN_DBG_NO_AFBC, "Disable AFBC support"}, - {"crc", PAN_DBG_CRC, "Enable transaction elimination"}, + {"nocrc", PAN_DBG_NO_CRC, "Disable transaction elimination"}, {"msaa16", PAN_DBG_MSAA16, "Enable MSAA 8x and 16x support"}, {"linear", PAN_DBG_LINEAR, "Force linear textures"}, {"nocache", PAN_DBG_NO_CACHE, "Disable BO cache"}, diff --git a/src/panfrost/lib/pan_util.h b/src/panfrost/lib/pan_util.h index a9e873f9272..8b0deb7f100 100644 --- a/src/panfrost/lib/pan_util.h +++ b/src/panfrost/lib/pan_util.h @@ -39,7 +39,7 @@ #define PAN_DBG_SYNC 0x0010 /* 0x20 unused */ #define PAN_DBG_NOFP16 0x0040 -#define PAN_DBG_CRC 0x0080 +#define PAN_DBG_NO_CRC 0x0080 #define PAN_DBG_GL3 0x0100 #define PAN_DBG_NO_AFBC 0x0200 #define PAN_DBG_MSAA16 0x0400