clCreateContext

Erzeugt den OpenCL-Kontext.

Signatur

cl_context clCreateContext( const cl_context_properties *properties,
                            cl_uint num_devices,
                            const cl_device_id *devices,
                            void ( CL_CALLBACK  *pfn_notify) (
                                const char *errinfo,
                                const void *private_info, size_t cb,
                                void *user_data
                            ),
                            void *user_data,
                            cl_int *errcode_ret)

Paramter

properties: Spezifiziert eine Liste von Eigenschaften mit Namen und Wert direkt hintereinander. Die Liste wird mit 0 terminiert. Wenn properties NULL ist, dann ist die Wahl der Platform, die verwendet wird implementationsabhängig. [1] gibt mögliche Erweiterungen an, die hier nicht weiter betrachtet werden.

Diese Properties sind unterstützt (Extentions ausgelassen):

cl_context_properties enum Property Wertebereich Beschreibung
CL_CONTEXT_PLATOFMR cl_platform_id Gibt die Plattform an, die benutzt werden soll
CL_CONTEXT_INTEROP_USER_SYNC cl_bool Gibt an, ob der Nutzer für die Synchronisation zwischen OpenCL und anderen APIs verantwortlich ist. Der Standardwert ist CL_FALSE.

num_devices: Die Anzahl der Devices, die im devices Argument angegeben sind.

devices: Ein Zeiger auf eine Liste von eindeutigen Device-IDs, die von clGetDeviceIDs oder clCreateSubDevice gegeben wurden. Doppelte Geräte-IDs werden ignoriert.

pfn_notify: FIXME

user_data: Wird pfn_notify als Argument user_data übergeben. Das Argument kann NULL sein.

errcode_ret: Gibt einen entsprechenden Fehlercode zurück. Wenn errcode_ret NULL ist, wird kein Fehlercode zurückgegeben.

Rückgabewert

Identifier für das OpenCL-Kontext Objekt.