#include "pipe/p_state.h"
#include "util/u_debug.h"
-
-
-#define LP_MAX_TEXTURE_2D_LEVELS 12 /* 2K x 2K for now */
-#define LP_MAX_TEXTURE_3D_LEVELS 10 /* 512 x 512 x 512 for now */
-
-#define LP_MAX_TEXTURE_LEVELS LP_MAX_TEXTURE_2D_LEVELS
+#include "lp_limits.h"
enum lp_texture_usage
unsigned timestamp;
unsigned id; /**< temporary, for debugging */
+
+#ifdef DEBUG
+ /** for linked list */
+ struct llvmpipe_resource *prev, *next;
+#endif
};
void *
llvmpipe_resource_map(struct pipe_resource *resource,
- unsigned face_slice,
- unsigned level,
- unsigned zslice,
+ unsigned level,
+ unsigned layer,
enum lp_texture_usage tex_usage,
enum lp_texture_layout layout);
void
llvmpipe_resource_unmap(struct pipe_resource *resource,
- unsigned face_slice,
unsigned level,
- unsigned zslice);
+ unsigned layer);
void *
llvmpipe_resource_data(struct pipe_resource *resource);
-void *
+unsigned
+llvmpipe_resource_size(const struct pipe_resource *resource);
+
+
+ubyte *
llvmpipe_get_texture_image_address(struct llvmpipe_resource *lpr,
unsigned face_slice, unsigned level,
enum lp_texture_layout layout);
unsigned x, unsigned y);
+void
+llvmpipe_unswizzle_cbuf_tile(struct llvmpipe_resource *lpr,
+ unsigned face_slice, unsigned level,
+ unsigned x, unsigned y,
+ uint8_t *tile);
+
+void
+llvmpipe_swizzle_cbuf_tile(struct llvmpipe_resource *lpr,
+ unsigned face_slice, unsigned level,
+ unsigned x, unsigned y,
+ uint8_t *tile);
+
+extern void
+llvmpipe_print_resources(void);
+
extern void
llvmpipe_init_screen_texture_funcs(struct pipe_screen *screen);