[Mesa-dev] [RFC 3/3] radeonsi: Add ARB_clear_texture support

Marek Olšák maraeo at gmail.com
Thu Dec 3 03:25:06 PST 2015


On Thu, Dec 3, 2015 at 10:44 AM, Edward O'Callaghan
<eocallaghan at alterapraxis.com> wrote:
> Unfortantly we may not toggle on PIPE_CAP_CLEAR_TEXTURE
> and update GL3.txt at this time as the piglit
> ARB_clear_texture-float test still fails for unknown
> reasons.
>
> However, this does allow a user to fake this extention
> now and get some reasonable level of support should
> they urgently need this.
>
> Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
> ---
>  src/gallium/drivers/radeonsi/si_blit.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
> index 13d8e6f..e1185c9 100644
> --- a/src/gallium/drivers/radeonsi/si_blit.c
> +++ b/src/gallium/drivers/radeonsi/si_blit.c
> @@ -439,6 +439,15 @@ static void si_clear_depth_stencil(struct pipe_context *ctx,
>         si_blitter_end(ctx);
>  }
>
> +static void si_pipe_clear_texture(struct pipe_context *ctx,
> +                                 struct pipe_resource *res,
> +                                 unsigned level,
> +                                 const struct pipe_box *box,
> +                                 const void *data)
> +{
> +       util_surface_clear_texture(ctx, res, level, box, data);
> +}
> +
>  /* Helper for decompressing a portion of a color or depth resource before
>   * blitting if any decompression is needed.
>   * The driver doesn't decompress resources automatically while u_blitter is
> @@ -800,6 +809,7 @@ void si_init_blit_functions(struct si_context *sctx)
>         sctx->b.b.clear_buffer = si_pipe_clear_buffer;
>         sctx->b.b.clear_render_target = si_clear_render_target;
>         sctx->b.b.clear_depth_stencil = si_clear_depth_stencil;
> +       sctx->b.b.clear_texture = si_pipe_clear_texture;

You can just do:

sctx->b.b.clear_texture = util_surface_clear_texture;

Marek


More information about the mesa-dev mailing list