On Tue, Mar 11, 2014 at 8:10 AM, Michel Dänzer <mic...@daenzer.net> wrote: > On Mon, 2014-03-10 at 01:15 +0100, Marek Olšák wrote: >> From: Marek Olšák <marek.ol...@amd.com> > > This series is > > Reviewed-by: Michel Dänzer <michel.daen...@amd.com> > > >> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c >> b/src/gallium/drivers/radeonsi/si_pipe.c >> index 040fc5c..95f022b 100644 >> --- a/src/gallium/drivers/radeonsi/si_pipe.c >> +++ b/src/gallium/drivers/radeonsi/si_pipe.c >> @@ -307,11 +307,14 @@ static int si_get_param(struct pipe_screen* pscreen, >> enum pipe_cap param) >> >> /* Texturing. */ >> case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: >> - case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: >> case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: >> - return 15; >> + return 15; /* 16384 */ >> + case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: >> + /* textures support 8192, but layered rendering supports 2048 >> */ >> + return 12; >> case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: >> - return 16384; >> + /* textures support 8192, but layered rendering supports 2048 >> */ >> + return 2048; >> >> /* Render targets. */ >> case PIPE_CAP_MAX_RENDER_TARGETS: > > This is fine for arrays, but it's a bit unfortunate for 3D textures; is > there anything else that would prevent e.g. a 8192x8192x2 texture from > working? Maybe this can be handled in a better way at some point in the > future.
The hardware limit is actually 16384x16384x8192 for textures, 16384x16384x2048 for renderbuffers if layered rendering is enabled, and 16384x16384xANYTHING if layered rendering is disabled. The current Mesa won't allow creating a 3D texture larger than 2048x2048x2048, although I think ARB_internalformat_query2 will allow us to support the full size (16384x16384x2048) if apps decide not to believe MAX_3D_TEXTURE_SIZE.. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev