<div dir="auto"><div>I'm saying that the limit should be 16k except for the layer/slice dimension where it can be 2k. See radeonsi.</div><div dir="auto"><br></div><div dir="auto">Marek<br><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Tue, Aug 14, 2018, 11:57 AM Erik Faye-Lund <<a href="mailto:erik.faye-lund@collabora.com">erik.faye-lund@collabora.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id="m_9211070586416114538geary-body" dir="auto"><div>What are you referring to, exactly? In OpenGL, texture size-limits are per axis, not in total... </div></div><div id="m_9211070586416114538geary-quote" dir="auto"><br>On Tue, Aug 14, 2018 at 5:43 PM, Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank" rel="noreferrer">maraeo@gmail.com</a>> wrote:<br><blockquote type="cite"><div dir="auto">You could have a 3d or cube texture where 1 or 2 dimensions are 16k.<div dir="auto"><br></div><div dir="auto">Marek</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 14, 2018, 9:02 AM Erik Faye-Lund <<a href="mailto:erik.faye-lund@collabora.com" target="_blank" rel="noreferrer">erik.faye-lund@collabora.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">These macro-names are also used for softpipe, so let's avoid confusion<br>
by avoiding them. Besides, they are just used in one place in virgl, so<br>
let's just inline them into the place they are used instead.<br>
<br>
While we're at it, fixup an error in the comment for the 3D version.<br>
Mesa subtracts computes max-size by doing by 2^(n-1), which means this<br>
should be 256 cubed, not 512 cubed. The other comments are correct.<br>
<br>
Signed-off-by: Erik Faye-Lund <<a href="mailto:erik.faye-lund@collabora.com" rel="noreferrer noreferrer" target="_blank">erik.faye-lund@collabora.com</a>><br>
---<br>
 src/gallium/drivers/virgl/virgl_screen.c | 10 +++-------<br>
 1 file changed, 3 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c<br>
index 87ce3b7355..0ac976acbd 100644<br>
--- a/src/gallium/drivers/virgl/virgl_screen.c<br>
+++ b/src/gallium/drivers/virgl/virgl_screen.c<br>
@@ -35,10 +35,6 @@<br>
 #include "virgl_public.h"<br>
 #include "virgl_context.h"<br>
<br>
-#define SP_MAX_TEXTURE_2D_LEVELS 15  /* 16K x 16K */<br>
-#define SP_MAX_TEXTURE_3D_LEVELS 9   /* 512 x 512 x 512 */<br>
-#define SP_MAX_TEXTURE_CUBE_LEVELS 13  /* 4K x 4K */<br>
-<br>
 static const char *<br>
 virgl_get_vendor(struct pipe_screen *screen)<br>
 {<br>
@@ -76,11 +72,11 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)<br>
    case PIPE_CAP_TEXTURE_SWIZZLE:<br>
       return 1;<br>
    case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:<br>
-      return SP_MAX_TEXTURE_2D_LEVELS;<br>
+      return 15; /* 16K x 16K */<br>
    case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:<br>
-      return SP_MAX_TEXTURE_3D_LEVELS;<br>
+      return 9; /* 256 x 256 x 256 */<br>
    case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:<br>
-      return SP_MAX_TEXTURE_CUBE_LEVELS;<br>
+      return 13; /* 4K x 4K */<br>
    case PIPE_CAP_BLEND_EQUATION_SEPARATE:<br>
       return 1;<br>
    case PIPE_CAP_INDEP_BLEND_ENABLE:<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>
</blockquote></div></blockquote></div></div></div>