On Thu, Feb 2, 2017 at 1:36 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > 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.
Or actually I guess this should get a custom block in that function (since it's actually different from GetTextureImage). Either way, the strcmp is not the way to go. > >> + _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