[Mesa-dev] [PATCH] llvmpipe: set max cube texture size to 4K x 4K

Brian Paul brian.e.paul at gmail.com
Sun Sep 16 18:50:26 PDT 2012


From: Brian Paul <brianp at vmware.com>

Before, the limit was 8K.  For 32-bit RGBA that would be require 1.5 GB
of memory (w/out mipmaps).  That's well beyond the LP_MAX_TEXTURE_SIZE
of 1GB.
---
 src/gallium/drivers/llvmpipe/lp_limits.h |    1 +
 src/gallium/drivers/llvmpipe/lp_screen.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_limits.h b/src/gallium/drivers/llvmpipe/lp_limits.h
index fac3404..3be24d6 100644
--- a/src/gallium/drivers/llvmpipe/lp_limits.h
+++ b/src/gallium/drivers/llvmpipe/lp_limits.h
@@ -46,6 +46,7 @@
 #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 11  /* 1K x 1K x 1K for now */
+#define LP_MAX_TEXTURE_CUBE_LEVELS 13  /* 4K x 4K for now */
 
 
 /** This must be the larger of LP_MAX_TEXTURE_2D/3D_LEVELS */
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index a9f973c..5126cd6 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -140,7 +140,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
       return LP_MAX_TEXTURE_3D_LEVELS;
    case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-      return LP_MAX_TEXTURE_2D_LEVELS;
+      return LP_MAX_TEXTURE_CUBE_LEVELS;
    case PIPE_CAP_BLEND_EQUATION_SEPARATE:
       return 1;
    case PIPE_CAP_INDEP_BLEND_ENABLE:
-- 
1.7.4.1



More information about the mesa-dev mailing list