This doesn't make sense from a mathematical POV. If the allowable size is
2^floor(log2(MAX_XX_TEXTURE_SIZE)) + 2*bt then it doesn't matter whether MAX_XX_TEXTURE_SIZE has or not the border with, as the allowable size is still the same for all common values of MAX_XX_TEXTURE_SIZE. It would be very odd to define MAX_XX_TEXTURE_SIZE in terms of itself, as there would be a singularity for MAX_XX_TEXTURE_SIZE < 4 : no value of MAX_XX_TEXTURE_SIZE under four will satisfy the equation: MAX_XX_TEXTURE_SIZE = 2^floor(log2(MAX_XX_TEXTURE_SIZE)) + 2 If hypothetically one day the spec allowed higher maximum border sizes, it would be even worse. My take is that the border does not need to be implicitly added to MAX_XX_TEXTURE_SIZE query, and the test/driver is wrong. Also it doesn't match what NVIDIA produces: $ glxinfo -l | grep SIZE GL_MAX_TEXTURE_SIZE = 16384 GL_MAX_3D_TEXTURE_SIZE = 2048 GL_ALIASED_POINT_SIZE_RANGE = 1, 63 GL_SMOOTH_POINT_SIZE_RANGE = 1, 63 GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 16384 GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 16384 Jose ----- Original Message ----- > As per OpenGL 3.0 specification section 3.9, page 187 in pdf the > maximum > allowable width, height, or depth of a texel array must be at least > 2^(k−lod) + 2*bt for image arrays of level-of-detail (lod) 0 through > k, > where k is the log base 2 of MAX_3D_TEXTURE_SIZE, and bt is the > maximum > border width > > Currently different values for maximum allowable texture size are > returned > by glGetIntegrv() and proxy textures. glGetIntegrv returns 2048 and > proxy > texture returns (2048 + 2) > > This patch fixes Intel oglconform test case: max_values > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44970 > > Note: This is a candidate for mesa 8.0 branch. > > Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> > --- > src/mesa/main/get.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c > index 5ad6012..4a70109 100644 > --- a/src/mesa/main/get.c > +++ b/src/mesa/main/get.c > @@ -1507,7 +1507,8 @@ find_custom_value(struct gl_context *ctx, const > struct value_desc *d, union valu > case GL_MAX_3D_TEXTURE_SIZE: > case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: > p = (GLuint *) ((char *) ctx + d->offset); > - v->value_int = 1 << (*p - 1); > + /* GL 3.0: Add 2 pixels to accmodate border */ > + v->value_int = 1 << (*p - 1) + 2; > break; > > case GL_SCISSOR_BOX: > -- > 1.7.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev