diff --git a/.pick_status.json b/.pick_status.json index 49e4c192f11..f0b80aceb52 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -924,7 +924,7 @@ "description": "mesa: Fix inconsistent multisampled CopyTexImage checks", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d7b9da2673a8aef49f83dc043aae6ff4fcb212a3", "notes": null diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index e8714f679f7..c49d5185de2 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2380,9 +2380,13 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, "glCopyTexImage%dD(invalid readbuffer)", dimensions); return GL_TRUE; } - + /** + * From the GL_EXT_multisampled_render_to_texture spec: + * Operations are allowed when the extension is supported. + */ if (!ctx->st_opts->allow_multisampled_copyteximage && - ctx->ReadBuffer->Visual.samples > 0) { + ctx->ReadBuffer->Visual.samples > 0 && + !_mesa_has_rtt_samples(ctx->ReadBuffer)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexImage%dD(multisample FBO)", dimensions); return GL_TRUE;