llvmpipe: change LP_MAX_SHADER_INSTRUCTIONS definition
authorRoland Scheidegger <sroland@vmware.com>
Wed, 20 Aug 2014 23:27:49 +0000 (01:27 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 21 Aug 2014 17:00:29 +0000 (19:00 +0200)
This change will double cache size for branches which have a lower
LP_MAX_SHADER_VARIANTS limit (it will not do anything on master).
The reason is that nowadays shaders tend to be quite a bit larger than they
were (they were big when llvmpipe didn't have a fs loop, got much smaller with
that loop, and since then have gradually increased quite a bit though still
smaller than without the fs loop for various reasons - among them being d3d10
compliance, usage of 8-wide vectors, non-swizzled blend code). Thus effectively
less shaders would be cached (unless they were very small and the variant limit
was hit first). Also, since we're getting rid of the IR nowadays, the cached
shaders shouldn't need all that much memory actually.

src/gallium/drivers/llvmpipe/lp_limits.h

index 131c02e..5294ced 100644 (file)
@@ -81,7 +81,7 @@
  * Note: the definition looks odd, but there's branches which use a different
  * number of max shader variants.
  */
-#define LP_MAX_SHADER_INSTRUCTIONS MAX2(128*1024, 512*LP_MAX_SHADER_VARIANTS)
+#define LP_MAX_SHADER_INSTRUCTIONS MAX2(256*1024, 512*LP_MAX_SHADER_VARIANTS)
 
 /**
  * Max number of setup variants that will be kept around.