X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_limits.h;h=5ea0c83723adb5a8fefe74cc59fa4ba968e22037;hb=72c6d0e506ad0e8262dddbc7a7cf2d6813761753;hp=4102a9df67c36b4f8feba39a413cc93f843605b2;hpb=1fa7789e828d1005e2473fc7cd364bd45eb30843;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_limits.h b/src/gallium/drivers/llvmpipe/lp_limits.h index 4102a9df67c..5ea0c83723a 100644 --- a/src/gallium/drivers/llvmpipe/lp_limits.h +++ b/src/gallium/drivers/llvmpipe/lp_limits.h @@ -43,8 +43,11 @@ /** * Max texture sizes */ -#define LP_MAX_TEXTURE_2D_LEVELS 13 /* 4K x 4K for now */ -#define LP_MAX_TEXTURE_3D_LEVELS 10 /* 512 x 512 x 512 for now */ +#define LP_MAX_TEXTURE_SIZE (1 * 1024 * 1024 * 1024ULL) /* 1GB for now */ +#define LP_MAX_TEXTURE_2D_LEVELS 14 /* 8K x 8K for now */ +#define LP_MAX_TEXTURE_3D_LEVELS 12 /* 2K x 2K x 2K for now */ +#define LP_MAX_TEXTURE_CUBE_LEVELS 14 /* 8K x 8K for now */ +#define LP_MAX_TEXTURE_ARRAY_LAYERS 512 /* 8K x 512 / 8K x 8K x 512 */ /** This must be the larger of LP_MAX_TEXTURE_2D/3D_LEVELS */ @@ -58,7 +61,7 @@ #define LP_MAX_WIDTH (1 << (LP_MAX_TEXTURE_LEVELS - 1)) -#define LP_MAX_THREADS 8 +#define LP_MAX_THREADS 16 /** @@ -66,5 +69,26 @@ */ #define LP_MAX_SCENE_SIZE (512 * 1024 * 1024) +/** + * Max number of shader variants (for all shaders combined, + * per context) that will be kept around. + */ +#define LP_MAX_SHADER_VARIANTS 1024 + +/** + * Max number of instructions (for all fragment shaders combined per context) + * that will be kept around (counted in terms of llvm ir). + */ +#define LP_MAX_SHADER_INSTRUCTIONS (512*LP_MAX_SHADER_VARIANTS) + +/** + * Max number of setup variants that will be kept around. + * + * These are determined by the combination of the fragment shader + * input signature and a small amount of rasterization state (eg + * flatshading). It is likely that many active fragment shaders will + * share the same setup variant. + */ +#define LP_MAX_SETUP_VARIANTS 64 #endif /* LP_LIMITS_H */