diff options
-rw-r--r-- | src/core/CL/cl_kernels/transpose.cl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/CL/cl_kernels/transpose.cl b/src/core/CL/cl_kernels/transpose.cl index 832572bf0e..82db2908b5 100644 --- a/src/core/CL/cl_kernels/transpose.cl +++ b/src/core/CL/cl_kernels/transpose.cl @@ -40,6 +40,11 @@ { \ u0, u1 \ } +#elif VEC_SIZE_Y == 3 +#define TRANSPOSED_U(val) \ + { \ + u0, u1, u2 \ + } #elif VEC_SIZE_Y == 4 #define TRANSPOSED_U(val) \ { \ @@ -68,6 +73,11 @@ { \ u0.val, u1.val \ } +#elif VEC_SIZE_Y == 3 +#define TRANSPOSED_U(val) \ + { \ + u0.val, u1.val, u2.val \ + } #elif VEC_SIZE_Y == 4 #define TRANSPOSED_U(val) \ { \ @@ -142,9 +152,11 @@ __kernel void transpose(IMAGE_DECLARATION(src), #if VEC_SIZE_Y > 2 VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE_X) u2 = VLOAD(VEC_SIZE_X)(0, (__global DATA_TYPE *)(src_addr + 2 * src_stride_y)); +#endif /* VEC_SIZE_Y > 2 */ +#if VEC_SIZE_Y > 3 VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE_X) u3 = VLOAD(VEC_SIZE_X)(0, (__global DATA_TYPE *)(src_addr + 3 * src_stride_y)); -#endif /* VEC_SIZE_Y > 2 */ +#endif /* VEC_SIZE_Y > 3 */ #if VEC_SIZE_Y > 4 VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE_X) u4 = VLOAD(VEC_SIZE_X)(0, (__global DATA_TYPE *)(src_addr + 4 * src_stride_y)); |