From c1452983b44cc8ee238b8c7e2cfca1105c707487 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 24 Aug 2015 09:52:12 +1000 Subject: mesa/texgetimage: fix missing stencil check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GetTexImage can read to stencil8 but only from a stencil or depthstencil textures. This fixes a bunch of failures in CTS GL33-CTS.gtf32.GL3Tests.packed_pixels Reviewed-by: Marek Olšák Cc: "11.0" Signed-off-by: Dave Airlie --- src/mesa/main/texgetimage.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/mesa/main/texgetimage.c') diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index 3c1e166ffa1..f62553dac24 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -1213,6 +1213,13 @@ getteximage_error_check(struct gl_context *ctx, "%s(format=GL_STENCIL_INDEX)", caller); return true; } + else if (_mesa_is_stencil_format(format) + && !_mesa_is_depthstencil_format(baseFormat) + && !_mesa_is_stencil_format(baseFormat)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "%s(format mismatch)", caller); + return true; + } else if (_mesa_is_ycbcr_format(format) && !_mesa_is_ycbcr_format(baseFormat)) { _mesa_error(ctx, GL_INVALID_OPERATION, -- cgit v1.2.3