mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
gallium/u_blitter: document custom meta helpers
This commit is contained in:
parent
b3b5bb9ddb
commit
e0cc61bd91
4 changed files with 19 additions and 10 deletions
|
|
@ -962,7 +962,7 @@ void util_blitter_clear(struct blitter_context *blitter,
|
|||
NULL, NULL);
|
||||
}
|
||||
|
||||
void util_blitter_clear_depth_custom(struct blitter_context *blitter,
|
||||
void util_blitter_custom_clear_depth(struct blitter_context *blitter,
|
||||
unsigned width, unsigned height,
|
||||
double depth, void *custom_dsa)
|
||||
{
|
||||
|
|
@ -1493,7 +1493,7 @@ void util_blitter_copy_buffer(struct blitter_context *blitter,
|
|||
}
|
||||
|
||||
/* probably radeon specific */
|
||||
void util_blitter_resolve_color_custom(struct blitter_context *blitter,
|
||||
void util_blitter_custom_resolve_color(struct blitter_context *blitter,
|
||||
struct pipe_resource *dst,
|
||||
unsigned dst_level,
|
||||
unsigned dst_layer,
|
||||
|
|
|
|||
|
|
@ -156,10 +156,6 @@ void util_blitter_clear(struct blitter_context *blitter,
|
|||
const union pipe_color_union *color,
|
||||
double depth, unsigned stencil);
|
||||
|
||||
void util_blitter_clear_depth_custom(struct blitter_context *blitter,
|
||||
unsigned width, unsigned height,
|
||||
double depth, void *custom_dsa);
|
||||
|
||||
/**
|
||||
* Check if the blitter (with the help of the driver) can blit between
|
||||
* the two resources.
|
||||
|
|
@ -294,13 +290,26 @@ void util_blitter_clear_depth_stencil(struct blitter_context *blitter,
|
|||
unsigned dstx, unsigned dsty,
|
||||
unsigned width, unsigned height);
|
||||
|
||||
/* The following functions are customized variants of the clear functions.
|
||||
* Some drivers use them internally to do things like MSAA resolve
|
||||
* and resource decompression. It usually consists of rendering a full-screen
|
||||
* quad with a special blend or DSA state.
|
||||
*/
|
||||
|
||||
/* Used by r300g for depth decompression. */
|
||||
void util_blitter_custom_clear_depth(struct blitter_context *blitter,
|
||||
unsigned width, unsigned height,
|
||||
double depth, void *custom_dsa);
|
||||
|
||||
/* Used by r600g for depth decompression. */
|
||||
void util_blitter_custom_depth_stencil(struct blitter_context *blitter,
|
||||
struct pipe_surface *zsurf,
|
||||
struct pipe_surface *cbsurf,
|
||||
unsigned sample_mask,
|
||||
void *dsa_stage, float depth);
|
||||
|
||||
void util_blitter_resolve_color_custom(struct blitter_context *blitter,
|
||||
/* Used by r600g for MSAA color resolve. */
|
||||
void util_blitter_custom_resolve_color(struct blitter_context *blitter,
|
||||
struct pipe_resource *dst,
|
||||
unsigned dst_level,
|
||||
unsigned dst_layer,
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ void r300_decompress_zmask(struct r300_context *r300)
|
|||
r300_mark_atom_dirty(r300, &r300->hyperz_state);
|
||||
|
||||
r300_blitter_begin(r300, R300_DECOMPRESS);
|
||||
util_blitter_clear_depth_custom(r300->blitter, fb->width, fb->height, 0,
|
||||
util_blitter_custom_clear_depth(r300->blitter, fb->width, fb->height, 0,
|
||||
r300->dsa_decompress_zmask);
|
||||
r300_blitter_end(r300);
|
||||
|
||||
|
|
|
|||
|
|
@ -320,7 +320,7 @@ static void r600_color_resolve(struct pipe_context *ctx,
|
|||
|
||||
if (is_simple_resolve(info)) {
|
||||
r600_blitter_begin(ctx, R600_COLOR_RESOLVE);
|
||||
util_blitter_resolve_color_custom(rctx->blitter,
|
||||
util_blitter_custom_resolve_color(rctx->blitter,
|
||||
info->dst.res, info->dst.level, info->dst.layer,
|
||||
info->src.res, info->src.layer,
|
||||
rctx->custom_blend_resolve);
|
||||
|
|
@ -345,7 +345,7 @@ static void r600_color_resolve(struct pipe_context *ctx,
|
|||
|
||||
/* XXX use scissor, so that only the needed part of the resource is resolved */
|
||||
r600_blitter_begin(ctx, R600_COLOR_RESOLVE);
|
||||
util_blitter_resolve_color_custom(rctx->blitter,
|
||||
util_blitter_custom_resolve_color(rctx->blitter,
|
||||
tmp, 0, 0,
|
||||
info->src.res, info->src.layer,
|
||||
rctx->custom_blend_resolve);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue