gallium/u_blitter: remove fallback for stencil copy that all drivers skipped

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2012-07-27 22:45:52 +02:00
parent ef1bf6d69e
commit c8ff737a18
4 changed files with 5 additions and 15 deletions

View File

@@ -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)) {

View File

@@ -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

View File

@@ -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

View File

@@ -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])