The GL spec guarantees that glGetTexImage will never get a multisampled
texture, but this is not true for glReadPixels. If we get a multisampled
buffer, we have to do a multisample resolve on it before we can pull the
data down for the user. Since this isn't practical to handle in
tiled_memcpy, we just fall back to the other paths that can handle this.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
yoffset += irb->mt->level[level].level_y;
}
+ /* It is possible that the renderbuffer (or underlying texture) is
+ * multisampled. Since ReadPixels from a multisampled buffer requires a
+ * multisample resolve, we can't handle this here
+ */
+ if (rb->NumSamples > 1)
+ return false;
+
if (!intel_get_memcpy(rb->Format, format, type, &mem_copy, &cpp))
return false;