|
|
@@ -36,70 +36,83 @@ struct pipe_mipmap_tree; |
|
|
|
struct pipe_region; |
|
|
|
|
|
|
|
|
|
|
|
struct pipe_mipmap_tree *st_miptree_create(struct pipe_context *pipe, |
|
|
|
GLenum target, |
|
|
|
GLenum internal_format, |
|
|
|
GLuint first_level, |
|
|
|
GLuint last_level, |
|
|
|
GLuint width0, |
|
|
|
GLuint height0, |
|
|
|
GLuint depth0, |
|
|
|
GLuint cpp, |
|
|
|
GLuint compress_byte); |
|
|
|
|
|
|
|
void st_miptree_reference(struct pipe_mipmap_tree **dst, |
|
|
|
struct pipe_mipmap_tree *src); |
|
|
|
|
|
|
|
void st_miptree_release(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree **mt); |
|
|
|
extern struct pipe_mipmap_tree * |
|
|
|
st_miptree_create(struct pipe_context *pipe, |
|
|
|
GLenum target, |
|
|
|
GLenum internal_format, |
|
|
|
GLuint first_level, |
|
|
|
GLuint last_level, |
|
|
|
GLuint width0, |
|
|
|
GLuint height0, |
|
|
|
GLuint depth0, |
|
|
|
GLuint cpp, |
|
|
|
GLuint compress_byte); |
|
|
|
|
|
|
|
extern void |
|
|
|
st_miptree_reference(struct pipe_mipmap_tree **dst, |
|
|
|
struct pipe_mipmap_tree *src); |
|
|
|
|
|
|
|
extern void |
|
|
|
st_miptree_release(struct pipe_context *pipe, struct pipe_mipmap_tree **mt); |
|
|
|
|
|
|
|
|
|
|
|
/* Check if an image fits an existing mipmap tree layout |
|
|
|
*/ |
|
|
|
GLboolean st_miptree_match_image(struct pipe_mipmap_tree *mt, |
|
|
|
struct gl_texture_image *image, |
|
|
|
GLuint face, GLuint level); |
|
|
|
extern GLboolean |
|
|
|
st_miptree_match_image(struct pipe_mipmap_tree *mt, |
|
|
|
struct gl_texture_image *image, |
|
|
|
GLuint face, GLuint level); |
|
|
|
|
|
|
|
/* Return a pointer to an image within a tree. Return image stride as |
|
|
|
* well. |
|
|
|
*/ |
|
|
|
GLubyte *st_miptree_image_map(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *mt, |
|
|
|
GLuint face, |
|
|
|
GLuint level, |
|
|
|
GLuint * row_stride, GLuint * image_stride); |
|
|
|
extern GLubyte * |
|
|
|
st_miptree_image_map(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *mt, |
|
|
|
GLuint face, GLuint level, |
|
|
|
GLuint * row_stride, GLuint * image_stride); |
|
|
|
|
|
|
|
extern void |
|
|
|
st_miptree_image_unmap(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *mt); |
|
|
|
|
|
|
|
|
|
|
|
void st_miptree_image_unmap(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *mt); |
|
|
|
/* Return pointers to each 2d slice within an image. Indexed by depth |
|
|
|
* value. |
|
|
|
*/ |
|
|
|
extern const GLuint * |
|
|
|
st_miptree_depth_offsets(struct pipe_mipmap_tree *mt, GLuint level); |
|
|
|
|
|
|
|
|
|
|
|
/* Return the linear offset of an image relative to the start of the |
|
|
|
* tree: |
|
|
|
*/ |
|
|
|
GLuint st_miptree_image_offset(struct pipe_mipmap_tree *mt, |
|
|
|
GLuint face, GLuint level); |
|
|
|
extern GLuint |
|
|
|
st_miptree_image_offset(const struct pipe_mipmap_tree *mt, |
|
|
|
GLuint face, GLuint level); |
|
|
|
|
|
|
|
/* Return pointers to each 2d slice within an image. Indexed by depth |
|
|
|
* value. |
|
|
|
*/ |
|
|
|
const GLuint *st_miptree_depth_offsets(struct pipe_mipmap_tree *mt, |
|
|
|
GLuint level); |
|
|
|
extern GLuint |
|
|
|
st_miptree_texel_offset(const struct pipe_mipmap_tree * mt, |
|
|
|
GLuint face, GLuint level, |
|
|
|
GLuint col, GLuint row, GLuint img); |
|
|
|
|
|
|
|
|
|
|
|
/* Upload an image into a tree |
|
|
|
*/ |
|
|
|
void st_miptree_image_data(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *dst, |
|
|
|
GLuint face, |
|
|
|
GLuint level, |
|
|
|
void *src, |
|
|
|
GLuint src_row_pitch, GLuint src_image_pitch); |
|
|
|
extern void |
|
|
|
st_miptree_image_data(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *dst, |
|
|
|
GLuint face, GLuint level, void *src, |
|
|
|
GLuint src_row_pitch, GLuint src_image_pitch); |
|
|
|
|
|
|
|
|
|
|
|
/* Copy an image between two trees |
|
|
|
*/ |
|
|
|
void st_miptree_image_copy(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *dst, |
|
|
|
GLuint face, GLuint level, |
|
|
|
struct pipe_mipmap_tree *src); |
|
|
|
extern void |
|
|
|
st_miptree_image_copy(struct pipe_context *pipe, |
|
|
|
struct pipe_mipmap_tree *dst, |
|
|
|
GLuint face, GLuint level, |
|
|
|
struct pipe_mipmap_tree *src); |
|
|
|
|
|
|
|
|
|
|
|
#endif |