mesa: Fix order of format+type and internal format checks for glTexImageXD ops
authorEduardo Lima Mitev <elima@igalia.com>
Thu, 24 Sep 2015 08:57:41 +0000 (10:57 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 28 Sep 2015 18:39:53 +0000 (11:39 -0700)
commit15ab968f62dd322ecda6d70b1069f52616fe39bb
treeef63dbdcecc27d32eb77255611f0dde50d8a7dea
parent7cdd818d2ae82f0cc81ebbc58ae6c95e6d649ba2
mesa: Fix order of format+type and internal format checks for glTexImageXD ops

The more specific GLES constrains should be checked after the general
validation performed by _mesa_error_check_format_and_type(). This is also
for consistency with the error checks order of glTexSubImage ops.

v3: The change of order uncovered a bug that regresses a couple of piglit
tests written against OpenGL-ES 1.1 spec, which expects an INVALID_VALUE
instead of the INVALID_ENUM returned by _mesa_error_check_format_and_type()
when an invalid format is passed to glTexImage2D. This version of the patch
accounts for those cases.

Fixes 1 dEQP test:
* dEQP-GLES3.functional.negative_api.texture.teximage2d

Cc: "11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
src/mesa/main/teximage.c