texgetimage: Add check for the effective target to GetTextureSubImage
authorEduardo Lima Mitev <elima@igalia.com>
Thu, 2 Feb 2017 16:07:24 +0000 (17:07 +0100)
committerEduardo Lima Mitev <elima@igalia.com>
Thu, 2 Feb 2017 23:43:46 +0000 (00:43 +0100)
commite198a64e3532af9b30d7c3fac4d092ecea7d2e41
treed73d466779780cc3398b6440a19003c96513a826
parentdfe111368d11aaffae7f8738c858c335cdec1e9d
texgetimage: Add check for the effective target to GetTextureSubImage

OpenGL 4.5 spec, section "8.11.4 Texture Image Queries", page 233 of
the PDF states:

    "An INVALID_OPERATION error is generated if texture is the name of a buffer
     or multisample texture."

This is currently not being checked and e.g a multisample texture image can
be passed down to the driver hook. On i965, it is crashing the driver with an
assertion:

intel_mipmap_tree.c:3125: intel_miptree_map: Assertion `mt->num_samples <= 1' failed.

v2: (Ilia Mirkin) Move the check from gettextimage_error_check() to
    GetTextureSubImage() and use the texObj target.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/mesa/main/texgetimage.c