From 09cf9fe8abbcdeaa31326e4ad35da18e5b33caaa Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 19 Aug 2024 19:03:29 -0700 Subject: [PATCH] anv: Larger memory pools for huge shaders At least one ray tracing shader in cp2077 is over 4MB on Xe2. There isn't a memory pool large enough for the allocation, so the driver crashes instead. This commit adds 8MB and 16MB pools. I intend this as a stop gap fix. I would prefer to figure out why this shader is so much larger than on previous platforms. The shader in question has 3824 spills and 8625 fills. That is not good. I suspect dealing with that will also solve the problem, but that will require a bit more time. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11739 Suggested-by: Lionel Landwerlin Reviewed-by: Paulo Zanoni Cc: mesa-stable Part-of: --- src/intel/vulkan/anv_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 4b72d9594f7..95c12c4fde6 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -714,7 +714,7 @@ struct anv_fixed_size_state_pool { }; #define ANV_MIN_STATE_SIZE_LOG2 6 -#define ANV_MAX_STATE_SIZE_LOG2 22 +#define ANV_MAX_STATE_SIZE_LOG2 24 #define ANV_STATE_BUCKETS (ANV_MAX_STATE_SIZE_LOG2 - ANV_MIN_STATE_SIZE_LOG2 + 1)