[Beignet] [patch V2] set the pitch of image from buffer to the buffer's pitch.

xionghu.luo at intel.com xionghu.luo at intel.com
Thu Oct 29 00:02:14 PDT 2015


From: Luo Xionghu <xionghu.luo at intel.com>

if image from buffer, the image's pitch should be same with
buffer bo's row pitch.

v2: correct style. image from buffer need update both aligned_pitch and
aligned_h, while image from user ptr only set aligned_pitch, so just
keep them independently.

Signed-off-by: Luo Xionghu <xionghu.luo at intel.com>
---
 src/cl_mem.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/cl_mem.c b/src/cl_mem.c
index cb2af47..72c335d 100644
--- a/src/cl_mem.c
+++ b/src/cl_mem.c
@@ -851,8 +851,13 @@ _cl_mem_new_image(cl_context ctx,
     if (aligned_pitch < pitch && enableUserptr)
       aligned_pitch = pitch;
     //no need align the height if 2d image from buffer.
-    if (image_type == CL_MEM_OBJECT_IMAGE2D && buffer != NULL)
+    //the pitch should be same with buffer's pitch as they share same bo.
+    if (image_type == CL_MEM_OBJECT_IMAGE2D && buffer != NULL) {
+      if(aligned_pitch < pitch) {
+        aligned_pitch = pitch;
+      }
       aligned_h = h;
+    }
     else
       aligned_h  = ALIGN(h, cl_buffer_get_tiling_align(ctx, CL_NO_TILE, 1));
   } else if (tiling == CL_TILE_X) {
-- 
1.9.1



More information about the Beignet mailing list