[Mesa-dev] [PATCH 1/5] r600g, radeonsi: fix MAX_TEXTURE_3D_LEVELS and MAX_TEXTURE_ARRAY_LAYERS limits

Michel Dänzer michel at daenzer.net
Tue Mar 11 00:10:08 PDT 2014


On Mon, 2014-03-10 at 01:15 +0100, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>

This series is

Reviewed-by: Michel Dänzer <michel.daenzer at 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.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer



More information about the mesa-dev mailing list