Merge branch 'mesa_7_6_branch'
[mesa.git] / src / mesa / drivers / dri / intel / intel_pixel_read.c
index 538da28c50e22846ab5371d51d57013891965f2b..aef760c015b39931bf3c11a91784d3a0107628b5 100644 (file)
@@ -31,6 +31,7 @@
 #include "main/macros.h"
 #include "main/image.h"
 #include "main/bufferobj.h"
+#include "main/state.h"
 #include "swrast/swrast.h"
 
 #include "intel_screen.h"
@@ -179,16 +180,7 @@ do_blit_readpixels(GLcontext * ctx,
    if (!src)
       return GL_FALSE;
 
-   if (dst) {
-      /* XXX This validation should be done by core mesa:
-       */
-      if (!_mesa_validate_pbo_access(2, pack, width, height, 1,
-                                     format, type, pixels)) {
-         _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels");
-         return GL_TRUE;
-      }
-   }
-   else {
+   if (!_mesa_is_bufferobj(pack->BufferObj)) {
       /* PBO only for now:
        */
       if (INTEL_DEBUG & DEBUG_PIXEL)
@@ -260,6 +252,21 @@ do_blit_readpixels(GLcontext * ctx,
          if (!intel_intersect_cliprects(&rect, &src_rect, &box[i]))
             continue;
 
+<<<<<<< HEAD:src/mesa/drivers/dri/intel/intel_pixel_read.c
+         if (!intelEmitCopyBlit(intel,
+                               src->cpp,
+                               src->pitch, src->buffer, 0, src->tiling,
+                               rowLength, dst_buffer, dst_offset, GL_FALSE,
+                               rect.x1,
+                               rect.y1,
+                               rect.x1 - src_rect.x1,
+                               rect.y2 - src_rect.y2,
+                               rect.x2 - rect.x1, rect.y2 - rect.y1,
+                               GL_COPY)) {
+           UNLOCK_HARDWARE(intel);
+           return GL_FALSE;
+        }
+=======
          intelEmitCopyBlit(intel,
                            src->cpp,
                            src->pitch, src->buffer, 0, src->tiling,
@@ -270,6 +277,7 @@ do_blit_readpixels(GLcontext * ctx,
                            rect.y2 - src_rect.y2,
                            rect.x2 - rect.x1, rect.y2 - rect.y1,
                           GL_COPY);
+>>>>>>> mesa_7_5_branch:src/mesa/drivers/dri/intel/intel_pixel_read.c
       }
    }
    UNLOCK_HARDWARE(intel);
@@ -299,6 +307,9 @@ intelReadPixels(GLcontext * ctx,
    if (do_texture_readpixels
        (ctx, x, y, width, height, format, type, pack, pixels))
       return;
+#else
+   (void)do_blit_readpixels;
+   (void)do_texture_readpixels;
 #endif
 
    if (INTEL_DEBUG & DEBUG_PIXEL)