st/mesa: EGLImageTarget* error handling
authorPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 29 Mar 2017 07:44:21 +0000 (09:44 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 29 Mar 2017 16:04:42 +0000 (18:04 +0200)
commit83e9de25f325f3fce78be864a9dd80e6274b8ca8
tree3ffaec7441bc0e57c86c3273e7b79f8f3abf1462
parentd10172d52791b1fc0b791dd10c823668ecb7a4f8
st/mesa: EGLImageTarget* error handling

Stop trying to specify texture or renderbuffer objects for unsupported
EGL images. Generate the error codes specified in the OES_EGL_image
extension.

EGLImageTargetTexture2D and EGLImageTargetRenderbuffer would call
the pipe driver's create_surface callback without ever checking that
the given EGL image is actually compatible with the chosen target
texture or renderbuffer. This patch adds a call to the pipe driver's
is_format_supported callback and generates an INVALID_OPERATION error
for unsupported EGL images. If the EGL image handle does not describe
a valid EGL image, an INVALID_VALUE error is generated.

v2: fixed get_surface to actually use the usage and error parameters

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/state_tracker/st_cb_eglimage.c