On Wed, Feb 29, 2012 at 6:44 PM, Anuj Phogat <anuj.pho...@gmail.com> wrote: > Intel and Gallium drivers don't support texture borders. Border is stripped > before texture is used inside the driver. So, glGetTexLevelParameteriv() > returns the stripped values of texture dimensions. But it returns un- > stripped values for proxy textures. This patch adds strip_texture_border() > for proxy textures as well. > > Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> > --- > A piglit test case for this patch will be posted on piglit mailing list > for review. > > src/mesa/main/teximage.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c > index b8ff67e..5a2ef70 100644 > --- a/src/mesa/main/teximage.c > +++ b/src/mesa/main/teximage.c > @@ -2543,6 +2543,15 @@ teximage(struct gl_context *ctx, GLuint dims, > } > else { > /* no error, set the tex image parameters */ > + > + /* Allow a hardware driver to just strip out the border, to provide > + * reliable but slightly incorrect hardware rendering instead of > + * rarely-tested software fallback rendering. > + */ > + if (border && ctx->Const.StripTextureBorder) > + strip_texture_border(target, &border, &width, &height, &depth, > unpack, > + &unpack_no_border); > + > struct gl_texture_object *texObj = > _mesa_get_current_tex_object(ctx, target); > gl_format texFormat = _mesa_choose_texture_format(ctx, texObj,
Actually, I'm not sure we want to do this. The typical usage of proxy textures is: glTexImage2D(GL_PROXY_TEXTURE_2D, border=1, width, height, ...); glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, GL_TEXTURE_WIDTH, &w); if (w != width) { // the proxy texture failed, do something else } If we stripped the texture border for the proxy texture, the conditional above would then fail. Have you found a different case where it makes sense to strip the border for proxies? -Brian _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev