This patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 06/21/2016 03:45 PM, 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 > 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. On Iron > Lake and prior, we don't support layered rendering and we use OffsetX/Y > hacks to render to particular layers so 2048 is ok there too. > > Cc: "11.1 11.2 12.0" <mesa-sta...@lists.freedesktop.org> > Cc: Ian Romanick <i...@freedesktop.org> > > --- > src/mesa/drivers/dri/i965/brw_context.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > b/src/mesa/drivers/dri/i965/brw_context.c > index f7c7874..c7a66cb 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.c > +++ b/src/mesa/drivers/dri/i965/brw_context.c > @@ -467,7 +467,16 @@ 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 */ > + > + /* On Sandy Bridge and prior, the "Render Target View Extent" field of > + * RENDER_SURFACE_STATE is only 9 bits so the largest 3-D texture we can > do > + * a layered render into has a depth of 512. On Iron Lake and earlier, we > + * don't support layered rendering and we use manual offsetting to render > + * into the different layers so this doesn't matter. On Sandy Bridge, > + * however, we do support layered rendering so this is a problem. > + */ > + ctx->Const.Max3DTextureLevels = brw->gen == 6 ? 10 /* 512 */ : 12; /* > 2048 */ > + > 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