#define TEXSTORE_H
-#include "mtypes.h"
+#include "glheader.h"
#include "formats.h"
+#include "util/macros.h"
+struct gl_context;
+struct gl_pixelstore_attrib;
+struct gl_texture_image;
/**
* This macro defines the (many) parameters to the texstore functions.
*/
#define TEXSTORE_PARAMS \
struct gl_context *ctx, GLuint dims, \
- GLenum baseInternalFormat, \
- mesa_format dstFormat, \
+ UNUSED GLenum baseInternalFormat, \
+ UNUSED mesa_format dstFormat, \
GLint dstRowStride, \
GLubyte **dstSlices, \
GLint srcWidth, GLint srcHeight, GLint srcDepth, \
const GLvoid *srcAddr, \
const struct gl_pixelstore_attrib *srcPacking
+/* This macro must be kept in sync with TEXSTORE_PARAMS. It is used in the
+ * few places where none of the parameters are used (i.e., the ETC texstore
+ * functions).
+ */
+#define UNUSED_TEXSTORE_PARAMS \
+ UNUSED struct gl_context *ctx, UNUSED GLuint dims, \
+ UNUSED GLenum baseInternalFormat, \
+ UNUSED mesa_format dstFormat, \
+ UNUSED GLint dstRowStride, \
+ UNUSED GLubyte **dstSlices, \
+ UNUSED GLint srcWidth, UNUSED GLint srcHeight, UNUSED GLint srcDepth, \
+ UNUSED GLenum srcFormat, UNUSED GLenum srcType, \
+ UNUSED const GLvoid *srcAddr, \
+ UNUSED const struct gl_pixelstore_attrib *srcPacking
extern GLboolean
_mesa_texstore(TEXSTORE_PARAMS);
GLenum baseInternalFormat,
mesa_format dstFormat);
+extern void
+_mesa_memcpy_texture(struct gl_context *ctx,
+ GLuint dimensions,
+ mesa_format dstFormat,
+ GLint dstRowStride,
+ GLubyte **dstSlices,
+ GLint srcWidth, GLint srcHeight, GLint srcDepth,
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *srcAddr,
+ const struct gl_pixelstore_attrib *srcPacking);
+
extern GLboolean
_mesa_texstore_can_use_memcpy(struct gl_context *ctx,
GLenum baseInternalFormat, mesa_format dstFormat,