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