Other Data Types

Other Built-in Data Types

Description

The following table describes other data types supported by OpenCL:

Type Description
image2d_t A 2D image. See individual Image Functions for more information.
image3d_t A 3D image. See individual Image Functions for more information.
image2d_array_t A 2D image array. See individual Image Functions for more information.
image1d_t A 1D image. See individual Image Functions for more information.
image1d_buffer_t A 1D image created from a buffer object. See individual Image Functions for more information.
image1d_array_t A 1D image array. See individual Image Functions for more information.
image2d_depth_t A 2D depth image. See individual Image Functions for more information.
image2d_array_depth_t A 2D depth image array. See individual Image Functions for more information.
sampler_t A sampler type.
queue_t A device command queue. This queue can only be used to enqueue commands from kernels executing on the device.
ndrange_t The N-dimensional range over which a kernel executes.
clk_event_t A device side event that identifies a command enqueue to a device command queue.
reserve_id_t A reservation ID. This opaque type is used to identify the reservation for reading and writing a pipe. Refer to section 6.13.16.
event_t An event. This can be used to identify async copies from global to local memory and vice-versa. See individual Async Copy and Prefetch Functions for more information.
cl_mem_fence_flags This is a bitfield and can be 0 or a combination of the following values ORed together:


CLK_GLOBAL_MEM_FENCE
CLK_LOCAL_MEM_FENCE
CLK_IMAGE_MEM_FENCE
                                        

These flags are described in detail in section 6.13.8 of the OpenCL specification (see syncFunctions).

image2d_msaa_t If the cl_khr_gl_msaa_sharing extension is enabled: A 2D multi-sample color image.
image2d_array_msaa_t If the cl_khr_gl_msaa_sharing extension is enabled: A 2D multi-sample color image array.
image2d_msaa_depth_t If the cl_khr_gl_msaa_sharing extension is enabled: A 2D multi-sample depth image.
image2d_array_msaa_depth_t If the cl_khr_gl_msaa_sharing extension is enabled: A 2D multi-sample depth image array.

NOTE: The image2d_t, image3d_t, image2d_array_t, image1d_t, image1d_buffer_t, image1d_array_t, image2d_depth_t, image2d_array_depth_t and sampler_t types are only defined if the device supports images i.e. CL_DEVICE_IMAGE_SUPPORT is CL_TRUE. See the table for param_name for clGetDeviceInfo for details.

The C99 derived types (arrays, structs, union, function, and pointers), constructed from the built-in data types described in Scalar Data Types, Vector Data Types, and Other Data Types are also supported with certain restrictions described in section 6.9.

The following tables describe the other built-in data types in OpenCL described in table 6.3 and the corresponding data type available to the application:

Type in OpenCL C API type for application
queue_t cl_command_queue
clk_event_t cl_event

Specification

OpenCL Specification

Also see

Macros and Limits, Scalar Data Types, Vector Data Types, Reserved Data Types, Abstract Data Types, Enumerated Data Types

Copyright © 2007-2013 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.