OpenGL interoperability#
-
hipError_t hipGLGetDevices(unsigned int *pHipDeviceCount, int *pHipDevices, unsigned int hipDeviceCount, hipGLDeviceList deviceList)#
Queries devices associated with the current OpenGL context.
- Parameters:
pHipDeviceCount – [out] - Pointer of number of devices on the current GL context.
pHipDevices – [out] - Pointer of devices on the current OpenGL context.
hipDeviceCount – [in] - Size of device.
deviceList – [in] - The setting of devices. It could be either hipGLDeviceListCurrentFrame for the devices used to render the current frame, or hipGLDeviceListAll for all devices. The default setting is Invalid deviceList value.
- Returns:
hipSuccess, hipErrorInvalidValue, hipErrorNotSupported
-
hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource **resource, GLuint buffer, unsigned int flags)#
Registers a GL Buffer for interop and returns corresponding graphics resource.
- Parameters:
resource – [out] - Returns pointer of graphics resource.
buffer – [in] - Buffer to be registered.
flags – [in] - Register flags.
- Returns:
hipSuccess, hipErrorInvalidValue, hipErrorUnknown, hipErrorInvalidResourceHandle
-
hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource **resource, GLuint image, GLenum target, unsigned int flags)#
Register a GL Image for interop and returns the corresponding graphic resource.
- Parameters:
resource – [out] - Returns pointer of graphics resource.
image – [in] - Image to be registered.
target – [in] - Valid target value Id.
flags – [in] - Register flags.
- Returns:
hipSuccess, hipErrorInvalidValue, hipErrorUnknown, hipErrorInvalidResourceHandle
-
hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream)#
Maps a graphics resource for access.
- Parameters:
count – [in] - Number of resources to map.
resources – [in] - Pointer of resources to map.
stream – [in] - Stream for synchronization.
- Returns:
hipSuccess, hipErrorInvalidValue, hipErrorUnknown, hipErrorInvalidResourceHandle
-
hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t *array, hipGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel)#
Get an array through which to access a subresource of a mapped graphics resource.
Note
In this API, the value of arrayIndex higher than zero is currently not supported.
- Parameters:
array – [out] - Pointer of array through which a subresource of resource may be accessed.
resource – [in] - Mapped resource to access.
arrayIndex – [in] - Array index for the subresource to access.
mipLevel – [in] - Mipmap level for the subresource to access.
- Returns:
hipSuccess, hipErrorInvalidValue
-
hipError_t hipGraphicsResourceGetMappedPointer(void **devPtr, size_t *size, hipGraphicsResource_t resource)#
Gets device accessible address of a graphics resource.
- Parameters:
devPtr – [out] - Pointer of device through which graphic resource may be accessed.
size – [out] - Size of the buffer accessible from devPtr.
resource – [in] - Mapped resource to access.
- Returns:
hipSuccess, hipErrorInvalidValue
-
hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream)#
Unmaps graphics resources.
- Parameters:
count – [in] - Number of resources to unmap.
resources – [in] - Pointer of resources to unmap.
stream – [in] - Stream for synchronization.
- Returns:
hipSuccess, hipErrorInvalidValue, hipErrorUnknown, hipErrorContextIsDestroyed
-
hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource)#
Unregisters a graphics resource.
- Parameters:
resource – [in] - Graphics resources to unregister.
- Returns:
hipSuccess