If you are referring to PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS, then that's already taken care of for virgl...

On Tue, Aug 14, 2018 at 6:00 PM, Marek Olšák <mar...@gmail.com> wrote:
I'm saying that the limit should be 16k except for the layer/slice dimension where it can be 2k. See radeonsi.

Marek

On Tue, Aug 14, 2018, 11:57 AM Erik Faye-Lund <erik.faye-l...@collabora.com> wrote:
What are you referring to, exactly? In OpenGL, texture size-limits are per axis, not in total...

On Tue, Aug 14, 2018 at 5:43 PM, Marek Olšák <mar...@gmail.com> wrote:
You could have a 3d or cube texture where 1 or 2 dimensions are 16k.

Marek

On Tue, Aug 14, 2018, 9:02 AM Erik Faye-Lund <erik.faye-l...@collabora.com> wrote:
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-l...@collabora.com>
---
 src/gallium/drivers/virgl/virgl_screen.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 87ce3b7355..0ac976acbd 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -35,10 +35,6 @@
 #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:
--
2.17.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to