On 06/11/2016 09:02 AM, Jason Ekstrand wrote:
> The RenderTargetViewExtent field of RENDER_SURFACE_STATE is supposed to be
> set to the depth of a 3-D texture when rendering.  Unfortunatley, that
                                                     Unfortunately

> field is only 9 bits on Sandy Bridge and prior so we can't actually bind
> a 3-D texturing for rendering if it has depth > 512.  On Ivy Bridge, this
> field was bumpped to 11 bits so we can go all the way up to 2048.
            bumped

> Cc: "11.1 11.2 12.0" <mesa-sta...@lists.freedesktop.org>
> ---
>  src/mesa/drivers/dri/i965/brw_context.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c 
> b/src/mesa/drivers/dri/i965/brw_context.c
> index 7bbc128..3b11bef 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -467,7 +467,10 @@ brw_initialize_context_constants(struct brw_context *brw)
>     ctx->Const.MaxImageUnits = MAX_IMAGE_UNITS;
>     ctx->Const.MaxRenderbufferSize = 8192;
>     ctx->Const.MaxTextureLevels = MIN2(14 /* 8192 */, MAX_TEXTURE_LEVELS);
> -   ctx->Const.Max3DTextureLevels = 12; /* 2048 */
> +   if (brw->gen >= 7)
> +      ctx->Const.Max3DTextureLevels = 12; /* 2048 */
> +   else
> +      ctx->Const.Max3DTextureLevels = 10; /* 512 */

This should use ?: like MaxArrayTextureLayers below.

This was increased from 512 to 2048 in 2014 in commit 06b047eb.  There
was some assertion in the commit message that the Windows driver was
already advertising 2048.  There is no mention, however, of which
hardware the Windows driver was checked on.  In the related bug report
(https://bugs.freedesktop.org/show_bug.cgi?id=74130), Ken says, "All
Gen4+ systems support 2048x2048 3D textures, so we could just bump the
limit."

It sounds like this may be a temporary fix, and we need a work around
for rendering to slices > 9?

>     ctx->Const.MaxCubeTextureLevels = 14; /* 8192 */
>     ctx->Const.MaxArrayTextureLayers = brw->gen >= 7 ? 2048 : 512;
>     ctx->Const.MaxTextureMbytes = 1536;
> 

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

Reply via email to