[Mesa-dev] [PATCH 01/64] i965: Drop Max3DTextureLevels to 512 on Sandy Bridge and prior
Jason Ekstrand
jason at jlekstrand.net
Sat Jun 11 16:02:16 UTC 2016
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.
Cc: "11.1 11.2 12.0" <mesa-stable at 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 */
ctx->Const.MaxCubeTextureLevels = 14; /* 8192 */
ctx->Const.MaxArrayTextureLayers = brw->gen >= 7 ? 2048 : 512;
ctx->Const.MaxTextureMbytes = 1536;
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list