summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_tile_soa.h
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-10-04 13:04:08 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-10-04 22:03:16 +0100
commit589ec337f0080893baba996201cf65bb6e1a2fec (patch)
treeb21a7e91ec200ade43d96ddf034baeb285d696fe /src/gallium/drivers/llvmpipe/lp_tile_soa.h
parent7a7dfb09aadf0509db4c1e2752fff5b75c59406b (diff)
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.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_tile_soa.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_tile_soa.h16
1 files changed, 10 insertions, 6 deletions
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