Author: Jason Ekstrand <firstname.lastname@example.org>
i965: Drop the maximum 3D texture size to 512 on Sandy Bridge
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.
Signed-off-by: Jason Ekstrand <email@example.com>
Reviewed-by: Ian Romanick <firstname.lastname@example.org>
Cc: "11.1 11.2 12.0" <email@example.com>
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
target implementation = 'intel-gbm'
Test case 'ES3-CTS.gtf.GL3Tests.npot_textures.npot_tex_image'..
ERROR:npot_tex_image: GL_INVALID_VALUE, internalformat: GL_LUMINANCE, level: 2, target: -
Test run totals:
Passed: 0/1 (0.00%)
Failed: 1/1 (100.00%)
Not supported: 0/1 (0.00%)
Warnings: 0/1 (0.00%)
This bug was more-or-less expected. Really, it's a CTS bug because the CTS assumes that you can create 3-D textures larger than 512 without checking. More specifically, it tries to call glTexImage with level 2 and a size of 11x131x1. That said, I'm going to leave this open as a reminder that we should really try and bump the max 3-D texture size back up on Sandy Bridge when we have the chance.
Can this bug be fixed, or should it be closed?
Author: Jason Ekstrand <firstname.lastname@example.org>
Date: Mon Sep 12 08:18:53 2016 -0700
Revert "i965: Drop the maximum 3D texture size to 512 on Sandy Bridge"