Top Description Constructors Methods
org.lwjgl.opencl

public Class ALTERALiveObjectTracking

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to the altera_live_object_tracking extension.

This extension specifies an API for debugging OpenCL API object leaks in user applications. It provides a mechanism for tracking all live API objects, and for enumerating them on demand.

The OpenCL runtime API generates and uses many kinds of objects such as contexts, programs, kernels, memory objects, command queues, and events.

It is very easy for an application to lose track of what objects it has created but not yet fully released. Forgetting to fully release an object after use may result in undesirable behaviour, such as increased memory use or even command scheduler lockup. This problem gets much worse when new objects leak each time through an application loop.

This extension defines two runtime API methods.

The first method specifies a future interest in enumerating all the live objects in the runtime API. Live object tracking is a debugging feature which may increase memory use and runtime of the application. So it should be explicitly requested.

Ideally, the request to begin tracking live objects should occur as early as possible in the program, so that no leaked objects escape undetected.

The second method requests an enumeration of those objects via a callback mechanism.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
clReportLiveObjectsAltera(long
the platform for which live objects are being tracked
platform
,
CLReportLiveObjectsAlteraCallbackI
the callback function
report_fn
,
long
a pointer to user data that will be passed to report_fn
user_data
)

Requests an enumeration of all live objects in the runtime.

public static void
clTrackLiveObjectsAltera(long
the platform ID
platform
)

Registers a future interest in enumerating all the live objects in the runtime API.

public static void
nclReportLiveObjectsAltera(long platform, long report_fn, long user_data)

Unsafe version of: ReportLiveObjectsAltera

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ALTERALiveObjectTrackingback to summary
protected ALTERALiveObjectTracking()

Method Detail

clReportLiveObjectsAlteraback to summary
public static void clReportLiveObjectsAltera(long platform, CLReportLiveObjectsAlteraCallbackI report_fn, long user_data)

Requests an enumeration of all live objects in the runtime. The enumeration is performed by calling the callback function once for each live object in some implementation-defined sequence (i.e. not concurrently).

Parameters
platform:long

the platform for which live objects are being tracked

report_fn:CLReportLiveObjectsAlteraCallbackI

the callback function

user_data:long

a pointer to user data that will be passed to report_fn

clTrackLiveObjectsAlteraback to summary
public static void clTrackLiveObjectsAltera(long platform)

Registers a future interest in enumerating all the live objects in the runtime API. Registering such an interest may itself increase memory use and runtime, which is why is must be explicitly requested.

Behaviour is unspecified if the clTrackLiveObjectsAltera method is called before the the first call to GetPlatformIDs.

Parameters
platform:long

the platform ID

nclReportLiveObjectsAlteraback to summary
public static void nclReportLiveObjectsAltera(long platform, long report_fn, long user_data)

Unsafe version of: ReportLiveObjectsAltera