gallium/u_blitter: remove fallback for stencil copy that all drivers skipped
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -938,8 +938,7 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
|
||||
unsigned dstx, unsigned dsty, unsigned dstz,
|
||||
struct pipe_resource *src,
|
||||
unsigned src_level,
|
||||
const struct pipe_box *srcbox,
|
||||
boolean ignore_stencil)
|
||||
const struct pipe_box *srcbox)
|
||||
{
|
||||
struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter;
|
||||
struct pipe_context *pipe = ctx->base.pipe;
|
||||
@@ -970,8 +969,7 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
|
||||
|
||||
/* Check if we can sample from and render to the surfaces. */
|
||||
/* (assuming copying a stencil buffer is not possible) */
|
||||
if ((!ignore_stencil && is_stencil && !ctx->has_stencil_export) ||
|
||||
!screen->is_format_supported(screen, dst->format, dst->target,
|
||||
if (!screen->is_format_supported(screen, dst->format, dst->target,
|
||||
dst->nr_samples, bind) ||
|
||||
!screen->is_format_supported(screen, src->format, src->target,
|
||||
src->nr_samples, PIPE_BIND_SAMPLER_VIEW)) {
|
||||
|
@@ -168,13 +168,6 @@ void util_blitter_clear_depth_custom(struct blitter_context *blitter,
|
||||
* a software fallback path is taken and both surfaces must be of the same
|
||||
* format.
|
||||
*
|
||||
* The same holds for depth-stencil formats with the exception that stencil
|
||||
* cannot be copied unless you set ignore_stencil to FALSE. In that case,
|
||||
* a software fallback path is taken and both surfaces must be of the same
|
||||
* format. If the shader stencil export is supported, stencil copy is always
|
||||
* accelerated.
|
||||
*
|
||||
* Use pipe_screen->is_format_supported to know your options.
|
||||
*
|
||||
* These states must be saved in the blitter in addition to the state objects
|
||||
* already required to be saved:
|
||||
@@ -191,8 +184,7 @@ void util_blitter_copy_texture(struct blitter_context *blitter,
|
||||
unsigned dstx, unsigned dsty, unsigned dstz,
|
||||
struct pipe_resource *src,
|
||||
unsigned src_level,
|
||||
const struct pipe_box *srcbox,
|
||||
boolean ignore_stencil);
|
||||
const struct pipe_box *srcbox);
|
||||
|
||||
/**
|
||||
* Same as util_blitter_copy_texture, but dst and src are pipe_surface and
|
||||
|
@@ -80,7 +80,7 @@ i915_surface_copy_render(struct pipe_context *pipe,
|
||||
i915->saved_sampler_views);
|
||||
|
||||
util_blitter_copy_texture(i915->blitter, dst, dst_level, dstx, dsty, dstz,
|
||||
src, src_level, src_box, TRUE);
|
||||
src, src_level, src_box);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -393,7 +393,7 @@ static void r600_resource_copy_region(struct pipe_context *ctx,
|
||||
|
||||
r600_blitter_begin(ctx, R600_COPY_TEXTURE);
|
||||
util_blitter_copy_texture(rctx->blitter, dst, dst_level, dstx, dsty, dstz,
|
||||
src, src_level, psbox, TRUE);
|
||||
src, src_level, psbox);
|
||||
r600_blitter_end(ctx);
|
||||
|
||||
if (restore_orig[0])
|
||||
|
Reference in New Issue
Block a user