Specification 1.0 to 1.1 diff

Is there a way to have a beautiful diff as I seen a while ago for OpenGL specification?

In OpenGL specification with diff marked (with colors), it was possible to easily just read changed sections.

I did a side by side comparison of the man-pages and posted it to a site that has the bindings I use, if it helps. Sorry no colors though.

http://groups.google.fr/group/nativelib … 5ff128b917

FYI, there is a very small problem with the HTML title of new man-pages. It still says 1.0 up on the browser tab.
http://www.khronos.org/registry/cl/sdk/ … man/xhtml/

Thanks for this summary.

OpenCL 1.1 specification section changes

===========
2. Glossary

New sections

2.1 OpenCL class diagram

=========================
3.The OpenCL architecture

New sections

3.1.1 Platform mixed version support
3.5 Memory objects

=====================
5. The OpenCL runtime

New sections

5.6.3.5 Options Controlling the OpenCL C version

Sections reordering

5.2 memory objects
=> 5.2 Buffer objects
=> 5.3 Image objects
=> 5.4 Querying, Unmapping, Retaining and Releasing Memory Objects

5.8 Out-of-order Execution of Kernels and Memory Object Commands
=> 5.10 Markers, Barriers and Waiting for Events
=> 5.11 Out-of-order Execution of Kernels and Memory Object Commands

====================================
6. THE OPENCL C PROGRAMMING LANGUAGE

New sections

6.2.6 Usual Arithmetic Conversions
Some precision about arithmetic conversion
6.11.11 Atomic Functions
atomic 32 bits function passed from extension to the core (from 9.5 and 9.6)
6.11.12 Miscellaneous Vector Functions
vec_step and shuffle functions

Sections reordering

A bit of all
=> 6.1.8 Keywords

Explicitly speak of as_type() which already existed
=> 6.2.4.2 Reinterpreting Types Using as_type() and as_typen()

======================
9. OPTIONAL EXTENSIONS

New sections

9.9 Creating CL event objects from GL sync objects
9.10 Sharing Memory Objects with Direct3D 10

Removed sections

9.4 Selecting Rounding Mode
This extension is gone

9.5 Atomic Functions for 32-bit integers
=> int the core (6.11.11)

9.6 Local Atomics for 32-bit integers
=> in the core (6.11.11)

9.9 Byte Addressable Stores
=> in core (6.8.m restriction removed)

========
Appendix

Appendix C — Application Data Types
Appendix D — OpenCL C++ Wrapper API
Appendix E – Changes

new stuff that should be in the change section:

CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_MISALIGNED_SUB_BUFFER_OFFSET
CL_EXEC_STATUS_ERROR_FOR_EVENT_IN_WAIT_LIST
CL_MEM_ASSOCIATED_MEMOBJECT
CL_MEM_OFFSET
CL_KERNEL_PIVATE_MEM_SIZE
CL_EVENT_CONTEXT
CL_COMMAND_READ_BUFFER_RECT
CL_COMMAND_WRITE_BUFFER_RECT
CL_COMMAND_COPY_BUFFER_RECT
CL_FP_SOFT_FLOAT

Sorry, I forgot that forum reqd joining (we were getting spam posts, and that was our solution). Here it is below. FYI, the Changes appendix in the spec has a couple more that I missed, but it is not at the parameter level like this.

New 3-element vector types: int3, float3, char3, double3, etc.

clGetDeviceInfo() has new cl_device_info values:
CL_DEVICE_EXTENSIONS missing extensions. These I guess are mandatory. Image support is still optional, but cl_khr_3d_images_writes missing means if image supported than 3d writes reqd.
cl_khr_select_fprounding_mode
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics
cl_khr_3d_images_writes
cl_khr_byte_addressable_store
CL_DEVICE_HOST_UNIFIED_MEMORY
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF

clCreateContext() & clCreateContextFromType() has new cl_context_properties values:
CL_CONTEXT_D3D10_DEVICE_KHR
CL_GL_CONTEXT_KHR
CL_EGL_DISPLAY_KHR
CL_GLX_DISPLAY_KHR
CL_WGL_HDC_KHR
CL_CGL_SHAREGROUP_KHR

clGetContextInfo() has new cl_context_info values:
CL_CONTEXT_NUM_DEVICES
CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR

clGetEventInfo() has new cl_command_type values:
CL_COMMAND_READ_BUFFER_RECT
CL_COMMAND_WRITE_BUFFER_RECT
CL_COMMAND_COPY_BUFFER_RECT
CL_COMMAND_USER
CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR
CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR
CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR

clGetImageInfo() has new cl_image_info values:
CL_IMAGE_D3D10_SUBRESOURCE_KHR

clGetKernelWorkGroupInfo() has new cl_kernel_work_group_info values:
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
CL_KERNEL_PRIVATE_MEM_SIZE

clGetMemObjectInfo() has new cl_mem_info values:
CL_MEM_ASSOCIATED_MEMOBJECT
CL_MEM_OFFSET
CL_MEM_D3D10_RESOURCE_KHR

new API calls:
clCreateEventFromGLsyncKHR()
clCreateFromD3D10BufferKHR()
clCreateFromD3D10Texture2DKHR()
clCreateFromD3D10Texture3DKHR()
clCreateSubBuffer()
clCreateUserEvent()
clEnqueueAcquireD3D10ObjectsKHR()
clEnqueueCopyBufferRect()
clEnqueueReadBufferRect()
clEnqueueReleaseD3D10ObjectsKHR()
clEnqueueWriteBufferRect()
clGetGLContextInfoKHR()
clSetEventCallback()
clSetMemObjectDestructorCallback()
clSetUserEventStatus()

Depreciated API calls:
clSetCommandQueueProperty

New kernel functions:
get_global_offset()
maxmag()
minmag()

any example of clCreateSubBuffer ??? :roll:

I did a blog on it last week: http://www.streamcomputing.nl/blog/2010 … -1-changes
Hope that helps?