zink: try copy_region hook for blits where we can't do a regular blit or resolve
in cases where the formats match, we can likely just pass this through for now fixes a ton of spec@!opengl 1.1@depthstencil-default_fb-blit piglit tests Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888>
This commit is contained in:
committed by
Marge Bot
parent
34fe561895
commit
ab78831baa
@@ -4,6 +4,7 @@
|
||||
#include "zink_screen.h"
|
||||
|
||||
#include "util/u_blitter.h"
|
||||
#include "util/u_surface.h"
|
||||
#include "util/format/u_format.h"
|
||||
|
||||
static bool
|
||||
@@ -182,6 +183,12 @@ zink_blit(struct pipe_context *pctx,
|
||||
return;
|
||||
}
|
||||
|
||||
struct zink_resource *src = zink_resource(info->src.resource);
|
||||
struct zink_resource *dst = zink_resource(info->dst.resource);
|
||||
/* if we're copying between resources with matching aspects then we can probably just copy_region */
|
||||
if (src->aspect == dst->aspect && util_try_blit_via_copy_region(pctx, info))
|
||||
return;
|
||||
|
||||
if (!util_blitter_is_blit_supported(ctx->blitter, info)) {
|
||||
debug_printf("blit unsupported %s -> %s\n",
|
||||
util_format_short_name(info->src.resource->format),
|
||||
|
||||
Reference in New Issue
Block a user