- Up to date with OpenCL-Headers tag v2024.10.24.
- Issue #36 Support dynamic linking.
Use opencl-sys
version 0.3 and fix Clippy Lints issues.
- Issue #32 Update with new functions in OpenCL-Headers repo.
- Issue #31 Update with new functions in OpenCL-Headers repo.
Remove deprecated OpenCL constants: CL_DEPTH_STENCIL
and CL_UNORM_INT24
for compatibility with opencl-sys crate.
- PR #30 Adds
thiserror
crate and derives impls std::error::Error for ClError.
- PR #28 use
opencl_sys::cl_char
.
- Issue #27 Update for extension
cl_khr_command_buffer_mutable_dispatch
.
- Issue #25 Declare OpenCL release_and retain_ functions unsafe.
- Issue #26 Declare OpenCL functions that can lead to undefined behaviour as unsafe.
- Issue #24 Update for extension
cl_ext_image_requirements_info
.
- Issue #22 Base
cl3
on opencl-sys crate. - Issue #23 Put deprecation notices behind conditional attributes.
- Transition to Rust 2021 Edition.
- Issue #20 Add
cl_intel_mem_alloc_buffer_location
property.
- Issue #21 Empty slice is not null.
-
Issue #19 Update for extension
cl_arm_protected_memory_allocation
. -
Issue #18 Update for extension
cl_intel_unified_shared_memory
.
- Issue #17 Update for new OpenCL extension
cl_khr_command_buffer
.
- Issue #16 Update for new OpenCL extensions:
cl_khr_external_memory
,cl_khr_external_semaphore
andcl_khr_semaphore
.
- Issue #15 Don't panic if UUIDs or LUIDs are wrong size.
- Issue #13 Remove Info enums to support new OpenCL versions and extensions.
- Issue #14 Add UUID and LUID types to InfoType.
- Add Device Vendor Ids, vendor_id_text and device_type_text functions.
- Add device Uuid and Luid types for UUID and LUIDs.
- Add clinfo example program.
- Fix bugs in device tests.
- Issue #11 InfoType::to_string shadows the implementation of Display. Note: the Display::to_string implementation does not remove trailing nulls, see PR [#1](Remove all trailing nulls from OpenCL API info strings).
- Issue #12 Use From trait for `conversions.
- Return
uints
andulongs
forcl_intel_device_attribute_query
after testing on Intel hardware, for Issue #10.
- Issue #10 Update for latest OpenCL-Headers:
cl_khr_integer_dot_product
andcl_intel_device_attribute_query
. - Fix more
clippy
warnings. - Add CONTRIBUTING and CODE_OF_CONDUCT documents.
- PR #9 Implement CL_VERSION_* features.
- Remove deprecated attribute for
create_command_queue
- Fix
clippy
warnings and format withfmt
.
- Add
cl_khr_integer_dot_product
extension. - Use
CL_BLOCKING
andCL_NON_BLOCKING
in enqueue calls.
- Add functions for Issue #8 Add generic functions to call
clGet*Info
functions.
- Add
cl_apple_setmemobjectdestructor
feature for Issue #7 Building on Debian Stretch fails.
- None.
- Add
cl_khr_gl_event
extension. - Inline EGL functions.
- Issue #6 Make custom clGetDeviceInfo requests easier.
- Add undocumented
cl_nv_device_attribute_query
extension values. - Add FFI interfaces for OpenCL extensions.
- Add OpenGL interoperability functions.
- Add dx9_media_sharing, d3d10 and d3d11.
- Add cl_khr_device_uuid values.
- Add DirectX error codes.
- Add Event types and OpenCL 3 constants.
- Add OpenCL memory constants.
- Change
create_program_with_source
to take an array of string slices for source code strings.
- Issue #4 Change the API to use String instead of ffi::CString.
- PR #3 Add InfoType::to_string method.
- Issue #2 Change InfoType to handle nulls in strings returned from OpenCL devices.
- Add
CSTRING_UTF8_CONVERSION_ERROR
to error_codes.
- PR #1 Remove all trailing nulls from OpenCL API info strings.
- create_sub_devices
- Mark missing CL_VERSION_2_1 features.
error_text
function in error_codes to convert OpenCL API error codes to text.
- Now gets OpenCL FFI bindings from cl-sys where possible.
- Small functions are now declared
inline
. - Added more tests, including integration_test.
- Added
rust.yml
for GitHub Actions.
- SVM mapping
- get_program_info CL_PROGRAM_BINARIES
- clEnqueueCopyBufferRect
- Fixes for
cargo
documentation.
safe
Rust functions that call OpenCL C API functions and return Rust Result types.- Foreign Function Interfaces for OpenCL C functions in ffi.
- OpenCL API data types in types.
- OpenCL API error codes in error_codes.
- A Rust enum (info_type) to hold the OpenCL types that can be returned from OpenCL "Info" functions, e.g. clGetPlatformInfo, clGetDeviceInfo, clGetProgramInfo, etc.
- Rust macros to call the OpenCL "Info" functions and return the appropriate
InfoType
in a Rust Result in macros.