Reviewed-by: Sinclair Yeh <s...@vmware.com>
On Thu, Oct 15, 2015 at 01:01:42PM -0600, Brian Paul wrote: > So that we can use it directly from the mesa/gallium state tracker. > --- > src/mesa/main/texstore.c | 40 ++++++++++++++++++++-------------------- > src/mesa/main/texstore.h | 11 +++++++++++ > 2 files changed, 31 insertions(+), 20 deletions(-) > > diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c > index e50964e..4b13c42 100644 > --- a/src/mesa/main/texstore.c > +++ b/src/mesa/main/texstore.c > @@ -97,16 +97,16 @@ static const GLubyte map_1032[6] = { 1, 0, 3, 2, ZERO, > ONE }; > * No pixel transfer operations or special texel encodings allowed. > * 1D, 2D and 3D images supported. > */ > -static void > -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) > +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) > { > const GLint srcRowStride = _mesa_image_row_stride(srcPacking, srcWidth, > srcFormat, srcType); > @@ -296,11 +296,11 @@ _mesa_texstore_ycbcr(TEXSTORE_PARAMS) > assert(baseInternalFormat == GL_YCBCR_MESA); > > /* always just memcpy since no pixel transfer ops apply */ > - memcpy_texture(ctx, dims, > - dstFormat, > - dstRowStride, dstSlices, > - srcWidth, srcHeight, srcDepth, srcFormat, srcType, > - srcAddr, srcPacking); > + _mesa_memcpy_texture(ctx, dims, > + dstFormat, > + dstRowStride, dstSlices, > + srcWidth, srcHeight, srcDepth, srcFormat, srcType, > + srcAddr, srcPacking); > > /* Check if we need byte swapping */ > /* XXX the logic here _might_ be wrong */ > @@ -899,11 +899,11 @@ _mesa_texstore_memcpy(TEXSTORE_PARAMS) > return GL_FALSE; > } > > - memcpy_texture(ctx, dims, > - dstFormat, > - dstRowStride, dstSlices, > - srcWidth, srcHeight, srcDepth, srcFormat, srcType, > - srcAddr, srcPacking); > + _mesa_memcpy_texture(ctx, dims, > + dstFormat, > + dstRowStride, dstSlices, > + srcWidth, srcHeight, srcDepth, srcFormat, srcType, > + srcAddr, srcPacking); > return GL_TRUE; > } > /** > diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h > index 2c974f7..f08dc08 100644 > --- a/src/mesa/main/texstore.h > +++ b/src/mesa/main/texstore.h > @@ -74,6 +74,17 @@ _mesa_texstore_needs_transfer_ops(struct gl_context *ctx, > 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, > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev