gallium/u_blitter: Remove the overlapped blit assert from util_blitter_blit_generic().

This is used by st_BlitFramebuffer() / r600_blit(), and ARB_fbo allows
overlapped blits, even though the result is undefined. No piglit regressions
on r600g / CYPRESS.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
This commit is contained in:
Henri Verbeet
2012-12-14 04:14:14 +01:00
parent a9abaaafd8
commit cf358a2b42
-28
View File
@@ -1053,29 +1053,6 @@ void util_blitter_custom_clear_depth(struct blitter_context *blitter,
0, PIPE_FORMAT_NONE, &color, depth, 0, NULL, custom_dsa);
}
static
boolean is_overlap(int dstx, int dsty, int dstz,
const struct pipe_box *srcbox)
{
struct pipe_box src = *srcbox;
if (src.width < 0) {
src.x += src.width;
src.width = -src.width;
}
if (src.height < 0) {
src.y += src.height;
src.height = -src.height;
}
if (src.depth < 0) {
src.z += src.depth;
src.depth = -src.depth;
}
return src.x < dstx+src.width && src.x+src.width > dstx &&
src.y < dsty+src.height && src.y+src.height > dsty &&
src.z < dstz+src.depth && src.z+src.depth > dstz;
}
void util_blitter_default_dst_texture(struct pipe_surface *dst_templ,
struct pipe_resource *dst,
unsigned dstlevel,
@@ -1261,11 +1238,6 @@ void util_blitter_blit_generic(struct blitter_context *blitter,
return;
}
/* Sanity checks. */
if (dst->texture == src->texture &&
dst->u.tex.level == src->u.tex.first_level) {
assert(!is_overlap(dstx, dsty, 0, srcbox));
}
/* XXX should handle 3d regions */
assert(srcbox->depth == 1);