--- OpenCL/Changes 2012/04/30 23:35:16 1.60 +++ OpenCL/Changes 2012/05/07 01:01:33 1.84 @@ -1,22 +1,35 @@ Revision history for Perl extension OpenCL. -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateProgramWithBinary.html -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetEventCallback.html, *pfn -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetMemObjectDestructorCallback.html, *pfn -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueUnmapMemObject.html -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMapBuffer.html -TODO: http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMapImage.html TODO: some convenience methods maybe? -TODO: OpenCL::context -TODO: async $cty->build -TODO: remove set_image23d -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCompileProgram.html -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clLinkProgram.html -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateProgramWithBuiltInKernels.html -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateSubDevices.html -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueMigrateMemObjects.html -TODO: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clGetKernelArgInfo.html (also generic accessor) +TODO: async compile/link +TODO: async $ctx->build_program +1.01 Mon May 7 03:00:53 CEST 2012 + - missing symbols are again exported with a 0 default value. + - do not try to use cl_d3d9.h - the d3d9 extension has been abondoned by khronos. + +1.0 Sat May 5 18:43:54 CEST 2012 + - OpenCL 1.2 is now effectively feature complete (but hardly tested). + - mapping a 1d image with default height now works. + - implement these 1.2 functions: + $device->sub_devices, + $ctx->program_with_built_in_kernels, + $ctx->link_program, + $program->compile, + $kernel->arg_info (and all 5 accessor methods), + $queue->migrate_mem_objects. + - implement OpenCL::context. + - implement $memory->destructor_callback. + - new methods: $mappedimage->get_row/set_row/width/height/depth/element_size. + - remove $kernel->set_image[23]d. + - add most enum and bitfield symbols to the manpage, for quick reference. + - default all constants to -1, instead of having them missing. + - try hard to get d3d definitions, when/if possible. + - add numerical limits and floating point constants from cl_platform.h. + - unify C types for accessors, for further code size decrease. + +0.99 Fri May 4 01:31:15 CEST 2012 + - OpenCL 1.1 is now effectively feature complete. - work around a bug in the nvidia implementation, where build fails with INVALID_BINARY if the compiler runs succesfully but ptxas fails. - explicitly check for 0 size dimensions in nd_range_kernel, as nvidia @@ -28,6 +41,17 @@ - fix/improve/balance gl sharing example. - added non-opengl sharing opengl example. - fixed some documentation links. + - fixed a bug where enqueue operations with optional parameters at the + end not specified would crash. + - implemented clEnqueueMapBuffer/Image/UnmapMemObject, and a "mapped object" + abstraction. + - both context_from_type methods now properly pass the notify callback. + - $platform->context now properly passes CL_CONTEXT_PLATFORM again. + - implement clCreateProgramWithBinary. + - speed up object constructions by not looking up stashes. + - use libebc for fine-tuning. + - reduce codesize considerably by disabling inlining on some functions. + - speed up many method calls on objects with no subclasses. 0.98 Sat Apr 28 15:31:46 CEST 2012 - INCOMPATIBLE CHANGE: $prog->build now wants an array of devices, or undef.