- PR #76 Fix naming issue.
The name of the new wrap function should have beenwrap_cl_context.
- Issue #73 Provide the ability to create a context and command queue from a cl_context or cl_command_queue
- PR #72 fix static linking by disabling default features in cl3.
- Update for Rust edition = "2024"
- Add
cl_qcom_perf_hintfeature. - Add
cl_ext_buffer_device_addressfeature.
- Up to date with OpenCL-Headers tag v2024.10.24.
- Issue #69 Unsound issue in SvmVec.
- Issue #70 Support dynamic linking.
- Issue #64 Update with new features in OpenCL-Headers repo.
- Issue #64 Update with new functions in OpenCL-Headers repo.
- PR #60 Support querying PCIE information for Intel devices.
- Issue #58 Compile failure due to unmarked unsafe function call in program.rs.
- PR #54 Unshadow device re-exports.
- Issue #55 Add Khronos
cl_khr_command_buffer_mutable_dispatchextension.
- Issue #51 Undefined behaviour when using underlying OpenCL pointers without any unsafe.
- Issue #52
CL_MEM_USE_HOST_PTRcan result in undefined behaviour.
- PR #53 added
syncfor all threadsafe OpenCL objects.
- Issue #49 Better Error messages for
ExecuteKernel::set_arg.
-
Update for OpenCL extension
cl_ext_image_requirements_info. -
PR #50 Introduce
track_callerfor panicing methods ofExecuteKernel.
- Issue #47 Base
opencl3on opencl-sys crate. - Issue #48 Put deprecation notices behind conditional attributes.
- Transition to Rust 2021 Edition.
- Issue #44 Add provisional command-buffer extension. See: cl_khr_command_buffer.
- Issue #37 Implement DeserializeSeed for ExtendSvmVec to enable
serdeto deserialize directly into anSvmVec.
- Issue #45 Examples and tests have
CL_MEM_READ_ONLYandCL_MEM_WRITE_ONLYswapped over.
- Issue #43 Update for new OpenCL extensions:
cl_khr_external_memory,cl_khr_external_semaphoreandcl_khr_semaphore.
- Issue #41 Remove cl3 Info enums to support new OpenCL versions and extensions.
- Add UUID and LUID types. See cl3 Issue #13 Remove Info enums to support new OpenCL versions and extensions.
- Remove example from README.md.
- Issue #38 Add SVM fine grain system support.
- Issue #40 Replace all calls to
to_stringwithfromorinto. - Issue #42 add
Fromtraits. - Add
get_all_devicesfunction.
[dependencies]
libc = "0.2"
cl3 = { version = "0.4", default-features = false }
serde = { version = "1.0", optional = true }- Issue #39 Update for latest OpenCL-Headers.
- Add CONTRIBUTING and CODE_OF_CONDUCT documents.
[dependencies]
libc = "0.2"
cl3 = { version = "0.4.2", default-features = false }
serde = { version = "1.0", optional = true }- Issue #37 Implement Serde's Serialize, Deserialize for SvmVec.
- Issue #32 Example from readme has zero output on GTX 1060 Max-Q.
- Issue #35 Superfluous/Misleading generic parameter in
ExecuteKernel::set_arg_local_buffer.
- Improve
SVMinterface and documentation. - Remove svm_capabilities parameter from
SvmVecmethods.
- Issue #33 Coarse-grained SVM has to be mapped before usage!
Depends on:
cl3 = { version = "0.4.2", default-features = false }
- Issue #30 opencl3 cannot be compiled with OpenCl 1.2 features only.
Depends on cl3 = "0.4.2".
- Issue #26 Should
CommandQueue.html::enqueue_write_buffertake a mutable buffer reference. - PR #27 Make mutability explicit.
- Issue #25 Using
set_event_callback.
Depends on cl3 = "0.4.1".
- Add Device method for
cl_khr_integer_dot_productextension.
- Issue #21
Device::available()should return a boolean. - PR #22 Return booleans for device information where applicable.
- Issue #24 Use
boolinstead ofcl_bool. - Use CL_BLOCKING and CL_NON_BLOCKING in enqueue calls.
- Issue #20 Restore
c_voidto program.rs.
Depends on cl3 = "0.4.0".
- Issue #15 It's safe to implement
Sendfor most of the types. - PR #16 Implement Send for most of the types.
- PR #17 Implement Send for some of the types.
Depends on cl3 = "0.3.1".
- Issue #13 Higher level create_sub_buffer call.
- Issue #14 Adding Debug derives.
- Add OpenCL
cl_ext.hfunctions. - Add
Direct3Dextension methods. - Add feature
cl_apple_setmemobjectdestructorforcl3.
Depends on cl3 = "0.3".
- Add extension
device_infovalues. - Add
OpenGLextension functions. - Add
OpenGL ESextension functions.
Depends on cl3 = "0.2".
- Issue #10 Change the API to use String instead of ffi::CString.
- Change
set_wait_eventto takeEventreference.
- Issue #9 Support running multiple instances of the same kernel simultaneously.
- Issue #12 Improve OpenCL error handling.
- Add
from_device_typemethod forContext. - Add
ClMemtrait object. - Add
CommandExecutionStatusandEventCommandType.
- PR #4 Implement Clone for CommandQueue
- Issue #5 Consider replacing unwrap with expect for error handling.
- PR #6 Make types Send and Sync where applicable.
- PR #7 Implement Clone for most of the types.
- Issue #8 Retrieving a program build log might be impossible.
- PR #10 Replace calls to to_str with to_string for issue #10.
- PR #1 Add Buffer type field as PhantomData.
- Issue #2 Consider adding PhantomData to Image and Pipe memory objects.
- PR #3 Remove Buffer cast method.
- Remove unnecessary templates from methods.
- Remove
event_wait_listfrom theenqueue_nd_rangemethod. - Add
waitmethod toevent. - Add
opencl2_kernel_test.rs. - Add example to README.
- Don't raise error in
integration_testif device is not SVM capable
- Fix build on OpenCL 2.0 ICD.
- Fix integration tests on Intel Skylake.
- Get the max_work_item_dimensions from the device CommandQueue.
Depends on cl3 = "0.1".
- OpenCL objects implemented by Rust structs that manage their resources by implementing the
Droptrait to perform RAII, e.g. Context, Program, CommandQueue, etc. safeRust functions that call OpenCL C API functions and return Rust Result types.- A
Vecimplemented using OpenCL Shared Virtual Memory (SVM), see svm.