LGTM, will push latter, thanks.
On Mon, Oct 27, 2014 at 03:34:11PM +0800, [email protected] wrote: > From: Junyan He <[email protected]> > > The test case use OCL_MAP_BUFFER_GTT to map the image > buffers and then do the result comparison, which may > cause problems. > On IVB and HSW, the slice pitch is equal but on BDW, > because we change the slice pitch of image array, it > cause this bug. > Modify it by using the standard clEnqueueReadImage API. > > Signed-off-by: Junyan He <[email protected]> > --- > utests/compare_image_2d_and_1d_array.cpp | 21 ++++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) > > diff --git a/utests/compare_image_2d_and_1d_array.cpp > b/utests/compare_image_2d_and_1d_array.cpp > index f2c828e..a2de507 100644 > --- a/utests/compare_image_2d_and_1d_array.cpp > +++ b/utests/compare_image_2d_and_1d_array.cpp > @@ -8,6 +8,10 @@ static void compare_image_2d_and_1d_array(void) > cl_image_format format; > cl_image_desc desc; > cl_sampler sampler; > + uint32_t* dst0; > + uint32_t* dst1; > + size_t origin[3] = { }; > + size_t region[3]; > > // Create the 1D array buffer. > memset(&desc, 0x0, sizeof(cl_image_desc)); > @@ -60,19 +64,26 @@ static void compare_image_2d_and_1d_array(void) > locals[1] = 16; > OCL_NDRANGE(2); > > - OCL_MAP_BUFFER_GTT(0); > - OCL_MAP_BUFFER_GTT(1); > + // Check result > + region[0] = w; > + region[1] = h; > + region[2] = 1; > + dst0 = (uint32_t*)malloc(w*h*sizeof(uint32_t)); > + dst1 = (uint32_t*)malloc(w*h*sizeof(uint32_t)); > + OCL_READ_IMAGE(buf[0], origin, region, dst0); > + OCL_READ_IMAGE(buf[1], origin, region, dst1); > + > for (int j = 0; j < h; ++j) { > for (int i = 0; i < w; i++) { > // Because the array index will not join the sample caculation, the > result should > // be different between the 2D and 1D_array. > if (j % 2 == 0) > - OCL_ASSERT(((uint32_t*)buf_data[0])[j * w + i] == > ((uint32_t*)buf_data[1])[j * w + i]); > + OCL_ASSERT(dst0[j * w + i] == dst1[j * w + i]); > } > } > - OCL_UNMAP_BUFFER_GTT(0); > - OCL_UNMAP_BUFFER_GTT(1); > > + free(dst0); > + free(dst1); > OCL_CALL(clReleaseSampler, sampler); > } > > -- > 1.7.9.5 > > _______________________________________________ > Beignet mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
