On Tue, Sep 4, 2012 at 3:27 PM, Ian Romanick <i...@freedesktop.org> wrote: > On 09/04/2012 03:19 PM, Stéphane Marchesin wrote: >> >> On Tue, Sep 4, 2012 at 2:59 PM, Eric Anholt <e...@anholt.net> wrote: >>> >>> Stéphane Marchesin <marc...@chromium.org> writes: >>> >>>> The current computation for the lastlevel is based on the level size and >>>> can >>>> lead to writing past the end of the texture array. Instead we clamp it >>>> by >>>> MAX_TEXTURE_LEVELS. >>>> --- >>>> src/mesa/drivers/dri/intel/intel_tex_image.c | 5 +++++ >>>> 1 files changed, 5 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c >>>> b/src/mesa/drivers/dri/intel/intel_tex_image.c >>>> index fe9040c..7ef258b 100644 >>>> --- a/src/mesa/drivers/dri/intel/intel_tex_image.c >>>> +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c >>>> @@ -88,6 +88,11 @@ intel_miptree_create_for_teximage(struct >>>> intel_context *intel, >>>> lastLevel = firstLevel; >>>> } else { >>>> lastLevel = firstLevel + _mesa_logbase2(MAX2(MAX2(width, >>>> height), depth)); >>>> + /* We tried to guess the last level based on the texture size, >>>> make >>>> + * sure we don't go past MAX_TEXTURE_LEVELS since it's hardcoded >>>> + * in many places. >>>> + */ >>>> + lastLevel = MIN2(lastLevel, MAX_TEXTURE_LEVELS - 1); >>>> } >>>> } >>> >>> >>> I'm confused. MAX_TEXTURE_LEVELS should set such that it covers >>> something from the texture size limits down to 1x1. Does it not? >> >> >> Let's say the app calls glTexImage for level 6, and width = 2048. That > > > Is that valid? Since the base level of this texture would be huge, it seems > like glTexImage should reject it. I'm not sure there's any language in the > spec either way, but that's my gut feeling.
I didn't see anything in the spec. I also wonder how that interacts with something like a subsequent glCopyTexImage from that level of an incomplete texture to somewhere else. I'd be fine with rejecting it, if that's the right thing to do. Stéphane _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev