diff options
author | Eric Anholt <[email protected]> | 2014-08-19 09:40:37 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-08-22 10:16:57 -0700 |
commit | 3a1efcc7f9f99d42cda191ded1eb78140366c708 (patch) | |
tree | facf7091502e68b2da35810513efbcea765c4916 /src/gallium/drivers/vc4/vc4_resource.h | |
parent | 1b6dcaf40c639d7933e83fecfdf28dbe84175ac6 (diff) |
vc4: Add support for texture tiling.
This still treats everything as RGBA8888 for the most part, same as
before. This is a prerequisite for handling other texture formats, since
only RGBA8888 has a raster-layout mode.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_resource.h')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_resource.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc4/vc4_resource.h b/src/gallium/drivers/vc4/vc4_resource.h index 34ca7ec8abb..caefbd057c0 100644 --- a/src/gallium/drivers/vc4/vc4_resource.h +++ b/src/gallium/drivers/vc4/vc4_resource.h @@ -26,12 +26,20 @@ #define VC4_RESOURCE_H #include "vc4_screen.h" +#include "vc4_packet.h" #include "util/u_transfer.h" +struct vc4_transfer { + struct pipe_transfer base; + void *map; +}; + struct vc4_resource_slice { uint32_t offset; uint32_t stride; uint32_t size0; + /** One of VC4_TILING_FORMAT_* */ + uint8_t tiling; }; struct vc4_surface { @@ -41,6 +49,7 @@ struct vc4_surface { uint32_t width; uint16_t height; uint16_t depth; + uint8_t tiling; }; struct vc4_resource { @@ -48,8 +57,9 @@ struct vc4_resource { struct vc4_bo *bo; struct vc4_resource_slice slices[VC4_MAX_MIP_LEVELS]; int cpp; - /** One of VC4_TILING_FORMAT_* */ - uint8_t tiling; + bool tiled; + /** One of VC4_TEXTURE_TYPE_* */ + enum vc4_texture_data_type vc4_format; }; static INLINE struct vc4_resource * @@ -64,6 +74,12 @@ vc4_surface(struct pipe_surface *psurf) return (struct vc4_surface *)psurf; } +static INLINE struct vc4_transfer * +vc4_transfer(struct pipe_transfer *ptrans) +{ + return (struct vc4_transfer *)ptrans; +} + void vc4_resource_screen_init(struct pipe_screen *pscreen); void vc4_resource_context_init(struct pipe_context *pctx); |