From 589ec337f0080893baba996201cf65bb6e1a2fec Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Sun, 4 Oct 2009 13:04:08 +0100 Subject: llvmpipe: Autogenerate lp_tile_soa.c from u_format.csv. This is just a temporary change until we code generate the tile read/write functions in runtime. The new code avoids an extra memcpy that exists in u_tile.c functions, from which lp_tile_soa.c was originally based. This achieves up to 5% improvement, particularly in frames with little geometry overlap. --- src/gallium/drivers/llvmpipe/lp_tile_soa.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/gallium/drivers/llvmpipe/lp_tile_soa.h') diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.h b/src/gallium/drivers/llvmpipe/lp_tile_soa.h index 3d8c703b73..040b01865d 100644 --- a/src/gallium/drivers/llvmpipe/lp_tile_soa.h +++ b/src/gallium/drivers/llvmpipe/lp_tile_soa.h @@ -64,14 +64,18 @@ tile_offset[TILE_VECTOR_HEIGHT][TILE_VECTOR_WIDTH]; void -lp_get_tile_rgba_soa(struct pipe_transfer *pt, - uint x, uint y, - uint8_t *p); +lp_tile_read_4ub(enum pipe_format format, + uint8_t *dst, + const void *src, unsigned src_stride, + unsigned x, unsigned y, unsigned w, unsigned h); + void -lp_put_tile_rgba_soa(struct pipe_transfer *pt, - uint x, uint y, - const uint8_t *p); +lp_tile_write_4ub(enum pipe_format format, + const uint8_t *src, + void *dst, unsigned dst_stride, + unsigned x, unsigned y, unsigned w, unsigned h); + #ifdef __cplusplus -- cgit v1.2.3