瀏覽代碼

clean-ups

tags/mesa_20090313
Brian 18 年之前
父節點
當前提交
0790d9a074
共有 2 個文件被更改,包括 68 次插入44 次删除
  1. 12
    1
      src/mesa/state_tracker/st_mipmap_tree.c
  2. 56
    43
      src/mesa/state_tracker/st_mipmap_tree.h

+ 12
- 1
src/mesa/state_tracker/st_mipmap_tree.c 查看文件

@@ -179,7 +179,7 @@ st_miptree_depth_offsets(struct pipe_mipmap_tree *mt, GLuint level)


GLuint
st_miptree_image_offset(struct pipe_mipmap_tree * mt,
st_miptree_image_offset(const struct pipe_mipmap_tree * mt,
GLuint face, GLuint level)
{
if (mt->target == GL_TEXTURE_CUBE_MAP_ARB)
@@ -190,6 +190,17 @@ st_miptree_image_offset(struct pipe_mipmap_tree * mt,
}


GLuint
st_miptree_texel_offset(const struct pipe_mipmap_tree * mt,
GLuint face, GLuint level,
GLuint col, GLuint row, GLuint img)
{
GLuint imgOffset = st_miptree_image_offset(mt, face, level);

return imgOffset + row * (mt->pitch + col) * mt->cpp;
}



/**
* Map a teximage in a mipmap tree.

+ 56
- 43
src/mesa/state_tracker/st_mipmap_tree.h 查看文件

@@ -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

Loading…
取消
儲存