2013-04-05  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Lots of clean ups all over.

        Unreviewed driven-by changes.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::create):
        (WebCore::WebCL::waitForEvents):
        * Modules/webcl/WebCL.h:
        (WebCL):
        (WebCore::WebCL::~WebCL):
        * Modules/webcl/WebCLBuffer.cpp:
        * Modules/webcl/WebCLBuffer.h:
        * Modules/webcl/WebCLBuffer.idl:
        * Modules/webcl/WebCLCommandQueue.cpp:
        * Modules/webcl/WebCLCommandQueue.h:
        (WebCore):
        * Modules/webcl/WebCLCommandQueue.idl:
        * Modules/webcl/WebCLContext.cpp:
        * Modules/webcl/WebCLContext.h:
        (WebCLContext):
        (WebCore::WebCLContext::createBuffer):
        (WebCore::WebCLContext::createCommandQueue):
        * Modules/webcl/WebCLContextProperties.cpp:
        (WebCore::WebCLContextProperties::WebCLContextProperties):
        (WebCore::WebCLContextProperties::platform):
        (WebCore::WebCLContextProperties::setPlatform):
        (WebCore::WebCLContextProperties::devices):
        (WebCore::WebCLContextProperties::deviceType):
        (WebCore::WebCLContextProperties::setDeviceType):
        (WebCore::WebCLContextProperties::shareGroup):
        (WebCore::WebCLContextProperties::setShareGroup):
        (WebCore::WebCLContextProperties::hint):
        (WebCore::WebCLContextProperties::setHint):
        (WebCore::WebCLContextProperties::computeContextProperties):
        * Modules/webcl/WebCLContextProperties.h:
        (WebCLContextProperties):
        * Modules/webcl/WebCLGLObjectInfo.cpp:
        * Modules/webcl/WebCLGLObjectInfo.h:
        * Modules/webcl/WebCLGetInfo.h:
        * Modules/webcl/WebCLImage.h:
        (WebCLImage):
        (WebCore::WebCLImage::WebCLImage):
        * Modules/webcl/WebCLImageDescriptor.cpp:
        (WebCore::WebCLImageDescriptor::create):
        (WebCore):
        (WebCore::WebCLImageDescriptor::WebCLImageDescriptor):
        (WebCore::WebCLImageDescriptor::setChannelOrder):
        (WebCore::WebCLImageDescriptor::channelOrder):
        (WebCore::WebCLImageDescriptor::setChannelType):
        (WebCore::WebCLImageDescriptor::channelType):
        (WebCore::WebCLImageDescriptor::setWidth):
        (WebCore::WebCLImageDescriptor::width):
        (WebCore::WebCLImageDescriptor::setHeight):
        (WebCore::WebCLImageDescriptor::height):
        (WebCore::WebCLImageDescriptor::setRowPitch):
        (WebCore::WebCLImageDescriptor::rowPitch):
        * Modules/webcl/WebCLImageDescriptor.h:
        * Modules/webcl/WebCLInputChecker.cpp:
        * Modules/webcl/WebCLInputChecker.h:
        * Modules/webcl/WebCLKernel.h:
        * Modules/webcl/WebCLKernel.idl:
        * Modules/webcl/WebCLKernelTypes.cpp:
        * Modules/webcl/WebCLMemoryObject.h:
        * Modules/webcl/WebCLMemoryObject.idl:
        * Modules/webcl/WebCLObject.h:
        * Modules/webcl/WebCLPlatform.h:
        * Modules/webcl/WebCLSampler.h:
        * bindings/js/JSWebCLCustom.cpp:
        * bindings/js/JSWebCLCustom.h:
        * platform/opencl/ComputeContextCL.cpp:
        (WebCore::ComputeContext::createCommandQueue):
2013-04-07  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension - part 1
        Issue #210

        Reviewed by Igor.

        It was created templates to handle the:

        1) Parsing of WebCL{GL}ContextProperties and context creation for JSWebCL{GL}Custom::createContext.
        2) Ground work for the creation of WebCL{GL}Context objects in WebCL{GL}::createContext.
        3) WebCL{GL}Context object actual creation in WebCL{GL}Context::create.
        4) Ground work for the creation of WebCL{GL}CommandQueue objects in WebCL{GL}Context::createCommandQueue
        5) WebCL{GL}CommandQueue object actual creation in WebCL{GL}CommandQueue::create.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::createContext):
        * Modules/webcl/WebCL.h:
        (WebCore):
        (WebCore::WebCL::createContextBase):
        * Modules/webcl/WebCLCommandQueue.cpp:
        (WebCore::WebCLCommandQueue::create):
        * Modules/webcl/WebCLCommandQueue.h:
        (WebCore::WebCLCommandQueue::createBase):
        * Modules/webcl/WebCLContext.cpp:
        (WebCore::WebCLContext::create):
        (WebCore::WebCLContext::WebCLContext):
        (WebCore::WebCLContext::createCommandQueue):
        * Modules/webcl/WebCLContext.h:
        (WebCore):
        (WebCLContext):
        (WebCore::WebCLContext::createBase):
        (WebCore::WebCLContext::createCommandQueueBase):
        * bindings/js/JSWebCLCustom.cpp:
        (WebCore::JSWebCL::createContext):
        * bindings/js/JSWebCLCustom.h:
        (WebCore):
        (WebCore::parsePropertiesAndCreateContext):

Conflicts:
	Source/WebCore/Modules/webcl/WebCL.cpp
2013-04-08  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension - part2
        Issue #210

        Reviewed by Igor.

        Removal of current CL-GL interoperability implementation,
        to implement is an an extension.

        * Modules/webcl/WebCL.idl:
        Removed CL-GL constants to be placed in WebCLGL.idl.

        * Modules/webcl/WebCLBuffer.cpp:
        * Modules/webcl/WebCLBuffer.h:
        Removed createFromGLBuffer method implementation, to be
        placed in WebCLGLBuffer.

        * Modules/webcl/WebCLCommandQueue.cpp:
        * Modules/webcl/WebCLCommandQueue.h:
        * Modules/webcl/WebCLCommandQueue.idl:
        Removed both enqueueAcquireGLObjects and enqueueReleaseGLObjects
        implementations, to be placed in WebCLGLCommandQueue.

        * Modules/webcl/WebCLContext.cpp:
        * Modules/webcl/WebCLContext.h:
        * Modules/webcl/WebCLContext.idl:
        Removed createFromGLBuffer, createFromGLRenderBuffer and createFromGLTexture2D
        method implementations, to be placed in WebCLGLContext.

        * Modules/webcl/WebCLImage.cpp:
        * Modules/webcl/WebCLImage.h:
        (WebCLImage):
        * Modules/webcl/WebCLImage.idl:
        Removed getGLtextureInfo implementation, to be placed in WebCLGLImage.
        Removed obsolete ::create overload and default ctor.

        * Modules/webcl/WebCLMemoryObject.cpp:
        * Modules/webcl/WebCLMemoryObject.h:
        * Modules/webcl/WebCLMemoryObject.idl:
        Removed getGLObjectInfo implementation, to be placed in WebCLGLBuffer.
2013-04-08  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension - part 3
        Issue #120

        Reviewed by Igor.

        * DerivedSources.make:
        Added all new WebCLGL*.idl files to get processed.

        * WebCore.xcodeproj/project.pbxproj:
        Added the newly .cpp/.h/.idl implemented and
        derivated files to XCode.

        * Modules/webcl/WebCLExtension.h: Added.
        Base class to be inherited by all WebCL extensions.

        * Modules/webcl/WebCLGL.cpp: Added.
        (WebCore::WebCLGL::create):
        (WebCore::WebCLGL::~WebCLGL):
        (WebCore::WebCLGL::getName): Implements the pure virtual
        method of WebCLExtension.
        (WebCore::WebCLGL::createContext):
        * Modules/webcl/WebCLGL.h: Added.
        * Modules/webcl/WebCLGL.idl: Added.
        Inherits from WebCL, and it is the base class
        to acquire new WebCLGLContext objects.

        It makes use of the template 'createContextBase' in WebCL.h
        in order to get itself created.

        WebCLGL.idl now holds all XXXGLXXX constant values previously
        held by WebCL.idl, e.g. INVALID_GL_OBJECT.

        * Modules/webcl/WebCLGLBuffer.cpp: Added.
        (WebCore::WebCLGLBuffer::create):
        (WebCore::WebCLGLBuffer::WebCLGLBuffer):
        (WebCore::WebCLGLBuffer::getGLObjectInfo):
        * Modules/webcl/WebCLGLBuffer.h: Added.
        (WebCore::WebCLGLBuffer::~WebCLGLBuffer):
        * Modules/webcl/WebCLGLBuffer.idl: Added.
        Inherits from WebCLBuffer and extends it to provide the
        functionality needed by CL-GL interop. Code was moved from
        WebCLBuffer.

        * Modules/webcl/WebCLGLCommandQueue.cpp: Added.
        (WebCore::WebCLGLCommandQueue::create):
        (WebCore::WebCLGLCommandQueue::enqueueAcquireGLObjects):
        (WebCore::WebCLGLCommandQueue::enqueueReleaseGLObjects):
        * Modules/webcl/WebCLGLCommandQueue.h: Added.
        (WebCore::WebCLGLCommandQueue::~WebCLGLCommandQueue):
        (WebCore::WebCLGLCommandQueue::enqueueAcquireGLObjects):
        (WebCore::WebCLGLCommandQueue::enqueueReleaseGLObjects):
        (WebCore::WebCLGLCommandQueue::WebCLGLCommandQueue):
        * Modules/webcl/WebCLGLCommandQueue.idl: Added.
        Inherits from WebCLCommandQueue class, and extends it to
        provide the funcionality needed by CL-GL interop. Code was
        moved from WebCLCommandQueue.

        It makes use of the template 'createBase' in order to get itself
        created.

        * Modules/webcl/WebCLGLContext.cpp: Added.
        (WebCore::WebCLGLContext::create):
        (WebCore::WebCLGLContext::WebCLGLContext):
        (WebCore::WebCLGLContext::createCommandQueue):
        (WebCore::WebCLGLContext::createFromGLBuffer):
        (WebCore::WebCLGLContext::createFromGLRenderBuffer):
        (WebCore::WebCLGLContext::createFromGLTexture2D):
        * Modules/webcl/WebCLGLContext.h: Added.
        (WebCLGLContext):
        (WebCore::WebCLGLContext::~WebCLGLContext):
        (WebCore::WebCLGLContext::createCommandQueue):
        * Modules/webcl/WebCLGLContext.idl: Added.
        Inherits from WebCLContext class, and extends it to
        provide the funcionality needed by CL-GL interop. Code was
        moved from WebCLConext.

        It makes use of the templates 'createBase' and 'createCommandQueueBase'
        in order to get itself and command queue objects created respectively.

        * Modules/webcl/WebCLGLImage.cpp: Added.
        (WebCore::WebCLGLImage::create):
        (WebCore::WebCLGLImage::WebCLGLImage):
        (WebCore::WebCLGLImage::getGLTextureInfo):
        * Modules/webcl/WebCLGLImage.h: Added.
        (WebCore::WebCLGLImage::~WebCLGLImage):
        * Modules/webcl/WebCLGLImage.idl: Added.

        * bindings/js/JSWebCLGLCustom.cpp: Added.
        (WebCore::JSWebCLGL::createContext):
        Directly call the template 'parsePropertiesAndCreateContext'
        in JSWebCLCustom.h to get its creation process started.
2013-04-09  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension - part 4
        Issue #210

        Reviewed by Igor.

        Adjust Nbody and Deform to run CL-GL extension.

        * WebCL/Deform/SimCL.js:
        (InitCL):
        * WebCL/Nbody/SimCL.js:
        (InitCL):