On Thu, Feb 2, 2017 at 1:29 PM, Eduardo Lima Mitev <el...@igalia.com> wrote: > 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." > > Currently, this is not being checked and the multisample texture image is > 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. > --- > src/mesa/main/texgetimage.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c > index d5cb1636605..6a23e4bbb8c 100644 > --- a/src/mesa/main/texgetimage.c > +++ b/src/mesa/main/texgetimage.c > @@ -1185,6 +1185,20 @@ getteximage_error_check(struct gl_context *ctx, > texImage = select_tex_image(texObj, target, level, zoffset); > assert(texImage); > > + /* Check that texObj is not a buffer or multisample texture if called > + * from glGetTextureSubImage. 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." > + */ > + if (texImage->NumSamples > 0 && > + strcmp(caller, "glGetTextureSubImage") == 0) {
So... glGetTextureSubImage is not OK but glGetTextureImage is OK? I think the issue is a missing if (!legal_getteximage_target(ctx, texObj->Target, true)) { _mesa_error(ctx, GL_INVALID_ENUM, "%s", caller); return; } block in _mesa_GetTextureSubImage. > + _mesa_error(ctx, GL_INVALID_OPERATION, > + "%s(multisample texture)", caller); > + return true; > + } > + > /* > * Format and type checking has been moved up to GetnTexImage and > * GetTextureImage so that it happens before getting the texImage object. > -- > 2.11.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev