mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 20:00:11 +01:00
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>
This commit is contained in:
parent
dfe111368d
commit
e198a64e35
1 changed files with 6 additions and 0 deletions
|
|
@ -1465,6 +1465,12 @@ _mesa_GetTextureSubImage(GLuint texture, GLint level,
|
|||
return;
|
||||
}
|
||||
|
||||
if (!legal_getteximage_target(ctx, texObj->Target, true)) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"%s(buffer/multisample texture)", caller);
|
||||
return;
|
||||
}
|
||||
|
||||
if (getteximage_error_check(ctx, texObj, texObj->Target, level,
|
||||
xoffset, yoffset, zoffset, width, height, depth,
|
||||
format, type, bufSize, pixels, caller)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue