Opencl 关于clCreateImage2D的用法

Opencl 关于clCreateImage2D的用法,opencl,Opencl,通常clCreateImage2D中的第二个参数是标志CL_MEM_READ等,但我在一个示例代码中发现它为0(第80页,使用openCL的异构计算): //Create space for the source image on the device cl_mem bufferSourceImage = clCreateImage2D( context,0,&format, width,height,0,NULL,NULL); 为什么会这样 cl_mem_标志是位字段: cl.

通常clCreateImage2D中的第二个参数是标志CL_MEM_READ等,但我在一个示例代码中发现它为0(第80页,使用openCL的异构计算):

 //Create space for the source image on the device
 cl_mem bufferSourceImage = clCreateImage2D(
 context,0,&format, width,height,0,NULL,NULL);

为什么会这样

cl_mem_标志是位字段:

cl.h

/*cl\u mem\u标志-位字段*/

#定义CL_MEM_READ_WRITE(1你是对的,对不起。这是默认值。我编辑我的答案。
/* cl_mem_flags - bitfield */
#define CL_MEM_READ_WRITE                           (1 << 0)
#define CL_MEM_WRITE_ONLY                           (1 << 1)
#define CL_MEM_READ_ONLY                            (1 << 2)
#define CL_MEM_USE_HOST_PTR                         (1 << 3)
#define CL_MEM_ALLOC_HOST_PTR                       (1 << 4)
#define CL_MEM_COPY_HOST_PTR                        (1 << 5)
// reserved                                         (1 << 6)    
#define CL_MEM_HOST_WRITE_ONLY                      (1 << 7)
#define CL_MEM_HOST_READ_ONLY                       (1 << 8)
#define CL_MEM_HOST_NO_ACCESS                       (1 << 9)