OSDN Git Service

virgl: do not use SP_MAX_TEXTURE_*_LEVELS defines
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 14 Aug 2018 12:10:23 +0000 (13:10 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 15 Aug 2018 16:48:08 +0000 (18:48 +0200)
These macro-names are also used for softpipe, so let's avoid confusion
by avoiding them. Besides, they are just used in one place in virgl, so
let's just inline them into the place they are used instead.

While we're at it, fixup an error in the comment for the 3D version.
Mesa subtracts computes max-size by doing by 2^(n-1), which means this
should be 256 cubed, not 512 cubed. The other comments are correct.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com>
src/gallium/drivers/virgl/virgl_screen.c

index 87ce3b7..0ac976a 100644 (file)
 #include "virgl_public.h"
 #include "virgl_context.h"
 
-#define SP_MAX_TEXTURE_2D_LEVELS 15  /* 16K x 16K */
-#define SP_MAX_TEXTURE_3D_LEVELS 9   /* 512 x 512 x 512 */
-#define SP_MAX_TEXTURE_CUBE_LEVELS 13  /* 4K x 4K */
-
 static const char *
 virgl_get_vendor(struct pipe_screen *screen)
 {
@@ -76,11 +72,11 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TEXTURE_SWIZZLE:
       return 1;
    case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
-      return SP_MAX_TEXTURE_2D_LEVELS;
+      return 15; /* 16K x 16K */
    case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
-      return SP_MAX_TEXTURE_3D_LEVELS;
+      return 9; /* 256 x 256 x 256 */
    case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-      return SP_MAX_TEXTURE_CUBE_LEVELS;
+      return 13; /* 4K x 4K */
    case PIPE_CAP_BLEND_EQUATION_SEPARATE:
       return 1;
    case PIPE_CAP_INDEP_BLEND_ENABLE: