X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fvc4%2Fvc4_resource.h;h=01f481d15c4a42c37bc33243b9874465ec8f5314;hb=8786544b3e3a024ccb04bb0c85f2afc07bb57f63;hp=34ca7ec8abb43b018b61909a2c2643196a5b0ab1;hpb=ff4748491b27a0b52564e48788b70cd617ed0ff2;p=mesa.git diff --git a/src/gallium/drivers/vc4/vc4_resource.h b/src/gallium/drivers/vc4/vc4_resource.h index 34ca7ec8abb..01f481d15c4 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; + uint32_t size; + /** One of VC4_TILING_FORMAT_* */ + uint8_t tiling; }; struct vc4_surface { @@ -41,15 +49,18 @@ struct vc4_surface { uint32_t width; uint16_t height; uint16_t depth; + uint8_t tiling; }; struct vc4_resource { struct u_resource base; struct vc4_bo *bo; struct vc4_resource_slice slices[VC4_MAX_MIP_LEVELS]; + uint32_t cube_map_stride; 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 +75,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);