Inkrementiert den Referenzzähler eines Speicherobjektes.
cl_int clRetainMemObject ( cl_mem memobj )
memobj: gültiges Speicherobjekt
Zurückgegeben wird ein Fehlercode:
Wert | Beschreibung |
---|---|
CL_SUCCESS | Die Funktion wurde erfolgreich ausgeführt |
CL_INVALID_COMMAND_QUEUE | command_queue ist keine gültige Command-Queue |
CL_OUT_OF_RESOURCES | Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Gerät gebraucht wird. |
CL_OUT_OF_HOST_MEMORY | Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Hostprozressor gebraucht wird. |
clCreateBuffer, clCreateSubBuffer, clCreateImage führen implizit ein retain aus.
Wenn der Referenzzähler des Speicherobjekts auf Null fällt und alle Befehle, die in der Command-Queue eingereiht sind, die das Speicherobjekt brauchen beendet sind, wird das Speicherobjekt gelöscht. Wenn memobj ein Puffer-Objekt ist, kann memobj nicht gelöscht werden bis nicht alle SubPuffer-Objekte, die zu memobj gehören gelöscht wurden.