• Brian Paul's avatar
    mesa: rework texture size error checking · e6eaa85a
    Brian Paul authored
    There are two aspects to texture image size checking:
    1. Are the width, height, depth legal values (not negative, not larger
       than the max size for the mipmap level, etc)?
    2. Is the texture just too large to handle?  For example, we might not be
       able to really allocate memory for a 3D texture of maxSize x maxSize x
       maxSize.
    
    Previously, we did (1) via the ctx->Driver.TestProxyTextureImage() hook
    but those tests are really device-independent.  Now we do (2) via that
    hook since the max texture memory and texture shape are device-dependent.
    
    Also, (1) is now done outside the general texture parameter error checking
    functions because of the special interaction with proxy textures.  The
    recently introduced PROXY_ERROR token is removed.
    
    The teximage() and copyteximage() functions are bit simpler now (less
    if-then nesting, etc.)
    Reviewed-by: Jose Fonseca's avatarJose Fonseca <jfonseca@vmware.com>
    e6eaa85a
texstorage.c 13.2 KB