All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opencl.ARMPrintf Maven / Gradle / Ivy

Go to download

An open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opencl;

/**
 * Native bindings to the arm_printf extension.
 * 
 * 

This extension enables the device side printf built in function for OpenCL C versions prior to 1.2. It also extends the cl_context_properties * enumeration to allow a user defined printf callback and/or printf buffer size.

* *

The printf built in function should be used for debugging purposes only and may have a significant negative impact on the performance of an OpenCL * application.

*/ public final class ARMPrintf { /** * Accepted by the {@code properties} argument to {@link CL10#clCreateContext CreateContext}. * *

Property value: void printf_callback(const char *buffer, size_t len, size_t complete, void *user_data)

* *

Specifies a pointer to function to be invoked when printf data is available. Upon invocation the arguments are set to the following values.

* *
    *
  • {@code buffer} is a pointer to a character array of size {@code len} created by printf.
  • *
  • {@code len} is the number of new characters in {@code buffer}.
  • *
  • {@code complete} is set to a non zero value if there is no more data in the device's printf buffer.
  • *
  • {@code user_data} is the {@code user_data} parameter specified to {@link CL10#clCreateContext CreateContext}.
  • *
* *

If this property is not specified, no callback will be registered and any printf output from a kernel will be discarded.

*/ public static final int CL_PRINTF_CALLBACK_ARM = 0x40B0; /** * Accepted by the {@code properties} argument to {@link CL10#clCreateContext CreateContext}. * *

Property value: {@code size_t}

* *

Specifies the size of printf buffer allocations to use within the driver. A printf buffer is allocated per device per context, within a context the * buffer will be shared between kernels executing on a device. The implementation is free to round up or ignore this value.

* *

If this property is not specified an implementation defined default size will be chosen. For OpenCL driver versions prior to OpenCL 1.2 this value will * be 1 MiB. For driver versions of OpenCL 1.2 or greater this value is defined by the {@link CL12#CL_DEVICE_PRINTF_BUFFER_SIZE DEVICE_PRINTF_BUFFER_SIZE} parameter name for * {@link CL10#clGetDeviceInfo GetDeviceInfo}.

*/ public static final int CL_PRINTF_BUFFERSIZE_ARM = 0x40B1; private ARMPrintf() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy