mesa: Add "shader/" path to #include statements in shader parser/lexer sources
[mesa.git] / src / mesa / state_tracker / st_cb_texture.c
index 0cec23f2b3cd728988a56fa0a618ab9bf2cd4233..f01053cdacc0b344c32c56e237ee32c406f7f4dd 100644 (file)
@@ -680,7 +680,22 @@ st_TexImage(GLcontext * ctx,
     * conversion and copy:
     */
    if (compressed_src) {
-      memcpy(texImage->Data, pixels, imageSize);
+      const GLuint srcImageStride = _mesa_format_row_stride(texImage->TexFormat, width);
+      if(dstRowStride == srcImageStride)
+         memcpy(texImage->Data, pixels, imageSize);
+      else
+      {
+         char *dst = texImage->Data;
+         const char *src = pixels;
+         int i;
+
+         for(i = 0; i < height; ++i)
+         {
+            memcpy(dst, src, srcImageStride);
+            dst += dstRowStride;
+            src += srcImageStride;
+         }
+      }
    }
    else {
       const GLuint srcImageStride =