2013-03-26  Igor Oliveira  <igor.o@sisa.samsung.com>

        Implement WebCLObject
        Issue #199

        Create a new class called WebCLObject. The new class manages the
        WebCL platform objects(e.g platform object destruction).

        Reviewed by Antonio.

        * Modules/webcl/WebCLBuffer.cpp:
        (WebCore::WebCLBuffer::createSubBuffer):
        * Modules/webcl/WebCLBuffer.h:
        (WebCLBuffer):
        * Modules/webcl/WebCLCommandQueue.cpp:
        (WebCore::WebCLCommandQueue::~WebCLCommandQueue):
        (WebCore::WebCLCommandQueue::create):
        (WebCore::WebCLCommandQueue::WebCLCommandQueue):
        (WebCore::WebCLCommandQueue::getInfo):
        (WebCore::WebCLCommandQueue::enqueueWriteBufferBase):
        (WebCore::WebCLCommandQueue::enqueueWriteBufferRect):
        (WebCore::WebCLCommandQueue::enqueueReadBuffer):
        (WebCore::WebCLCommandQueue::enqueueReadImage):
        (WebCore::WebCLCommandQueue::enqueueReadBufferRect):
        (WebCore::WebCLCommandQueue::enqueueNDRangeKernel):
        (WebCore::WebCLCommandQueue::finish):
        (WebCore::WebCLCommandQueue::flush):
        (WebCore::WebCLCommandQueue::enqueueWriteImage):
        (WebCore::WebCLCommandQueue::enqueueAcquireGLObjects):
        (WebCore::WebCLCommandQueue::enqueueReleaseGLObjects):
        (WebCore::WebCLCommandQueue::enqueueCopyImage):
        (WebCore::WebCLCommandQueue::enqueueCopyImageToBuffer):
        (WebCore::WebCLCommandQueue::enqueueCopyBufferToImage):
        (WebCore::WebCLCommandQueue::enqueueCopyBuffer):
        (WebCore::WebCLCommandQueue::enqueueCopyBufferRect):
        (WebCore::WebCLCommandQueue::enqueueBarrier):
        (WebCore::WebCLCommandQueue::enqueueMarker):
        (WebCore::WebCLCommandQueue::enqueueTask):
        (WebCore::WebCLCommandQueue::releasePlatformObjectImpl):
        (WebCore):
        * Modules/webcl/WebCLCommandQueue.h:
        (WebCLCommandQueue):
        * Modules/webcl/WebCLContext.cpp:
        (WebCore::WebCLContext::~WebCLContext):
        (WebCore::WebCLContext::create):
        (WebCore::WebCLContext::WebCLContext):
        (WebCore):
        (WebCore::WebCLContext::getInfo):
        (WebCore::WebCLContext::createCommandQueue):
        (WebCore::WebCLContext::createProgram):
        (WebCore::WebCLContext::createBuffer):
        (WebCore::WebCLContext::createImage2DBase):
        (WebCore::WebCLContext::createImage):
        (WebCore::WebCLContext::createFromGLBuffer):
        (WebCore::WebCLContext::createFromGLRenderBuffer):
        (WebCore::WebCLContext::createSampler):
        (WebCore::WebCLContext::createFromGLTexture2D):
        (WebCore::WebCLContext::createUserEvent):
        (WebCore::WebCLContext::getSupportedImageFormats):
        (WebCore::WebCLContext::releasePlatformObjectImpl):
        * Modules/webcl/WebCLContext.h:
        (WebCore):
        (WebCore::WebCLContext::computeContext):
        (WebCLContext):
        * Modules/webcl/WebCLContextProperties.cpp:
        (WebCore::WebCLContextProperties::computeContextProperties):
        * Modules/webcl/WebCLDevice.cpp:
        (WebCore::WebCLDevice::WebCLDevice):
        (WebCore::WebCLDevice::getInfo):
        * Modules/webcl/WebCLDevice.h:
        (WebCLDevice):
        * Modules/webcl/WebCLImage.cpp:
        (WebCore::WebCLImage::getGLtextureInfo):
        (WebCore::WebCLImage::getInfo):
        * Modules/webcl/WebCLImage.h:
        * Modules/webcl/WebCLInputChecker.h:
        (WebCLInputChecker):
        (WebCore::WebCLInputChecker::validateWebCLObject):
        * Modules/webcl/WebCLKernel.cpp:
        (WebCore::WebCLKernel::~WebCLKernel):
        (WebCore::WebCLKernel::create):
        (WebCore::WebCLKernel::createKernelsInProgram):
        (WebCore::WebCLKernel::WebCLKernel):
        (WebCore::WebCLKernel::getInfo):
        (WebCore::WebCLKernel::getWorkGroupInfo):
        (WebCore::WebCLKernel::setArg):
        (WebCore::WebCLKernel::releasePlatformObjectImpl):
        * Modules/webcl/WebCLKernel.h:
        (WebCLKernel):
        * Modules/webcl/WebCLMemoryObject.cpp:
        (WebCore::WebCLMemoryObject::~WebCLMemoryObject):
        (WebCore::WebCLMemoryObject::WebCLMemoryObject):
        (WebCore::WebCLMemoryObject::getGLObjectInfo):
        (WebCore::WebCLMemoryObject::getInfo):
        (WebCore::WebCLMemoryObject::releasePlatformObjectImpl):
        * Modules/webcl/WebCLMemoryObject.h:
        (WebCLMemoryObject):
        * Modules/webcl/WebCLObject.h: Copied from Source/WebCore/Modules/webcl/WebCLBuffer.h.
        (WebCore):
        (WebCLObject):
        (WebCore::WebCLObject::~WebCLObject):
        (WebCore::WebCLObject::platformObject):
        (WebCore::WebCLObject::releasePlatformObject):
        (WebCore::WebCLObject::WebCLObject):
        (WebCore::WebCLObject::releasePlatformObjectImpl):
        * Modules/webcl/WebCLPlatform.cpp:
        (WebCore::WebCLPlatform::WebCLPlatform):
        (WebCore::WebCLPlatform::getInfo):
        (WebCore::WebCLPlatform::getDevices):
        * Modules/webcl/WebCLPlatform.h:
        (WebCLPlatform):
        * Modules/webcl/WebCLProgram.cpp:
        (WebCore::WebCLProgram::~WebCLProgram):
        (WebCore::WebCLProgram::WebCLProgram):
        (WebCore::WebCLProgram::getInfo):
        (WebCore::WebCLProgram::getBuildInfo):
        (WebCore::WebCLProgram::createKernel):
        (WebCore::WebCLProgram::createKernelsInProgram):
        (WebCore::WebCLProgram::build):
        (WebCore::WebCLProgram::releaseProgram):
        (WebCore::WebCLProgram::releasePlatformObjectImpl):
        (WebCore):
        * Modules/webcl/WebCLProgram.h:
        (WebCLProgram):
        * Modules/webcl/WebCLProgram.idl:
        * Modules/webcl/WebCLSampler.cpp:
        (WebCore::WebCLSampler::~WebCLSampler):
        (WebCore::WebCLSampler::WebCLSampler):
        (WebCore::WebCLSampler::getInfo):
        (WebCore::WebCLSampler::releasePlatformObjectImpl):
        * Modules/webcl/WebCLSampler.h:
        (WebCLSampler):
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ComputeContext.h:
        (ComputeContext):
        (WebCore::ComputeContext::context):
        * platform/opencl/ComputeContextCL.cpp:
Add Initial Structure for WebCL Tests

* Add script (gen_kernels_file.py) to parse all kernels in the kernels.cl to a
js file which contains all kernels in a json object;
* Add a style sheet and a simple template that can be used by other tests.

Reviewed by: Afonso Costa.
             Rodrigo Belem.
2013-03-20  Afonso R. Costa Jr.  <afonso.costa@samsung.com>

        Test all OpenCL devices using a shared context

        Reviewed by Alexandre Rocha.

        Also added the resources used by WebKit Layout Tests.
Create initial wrapper to WebCL tests

#issue 68

Signed-off-by: Ragner Magalhaes <ragner.magalhaes@gmail.com>
Initial test to WebCL wrapper

Signed-off-by: Ragner Magalhaes <ragner.magalhaes@gmail.com>
Using the commom resource files to WebCL tests

    * Applying LayoutTests directory structure
    * Added stub webcl-test-utils javascript file

Signed-off-by: Andre Luiz Viana Loureiro <andre.vl@samsung.com>

Reviewed-by: Diego Pinheiro
Reviewed-by: Alexandre Rocha
2013-03-25  Afonso R. Costa Jr.  <afonso.costa@samsung.com>

        Remove unused files and update resource path in Layout Tests

        Reviewed by TrustMe.

        Removed the Python script used to generate the kernels.js, because we won't
        use the kernels in the OpenCL format any more (eg. kernels.cl). We will use
        a JSON format (kernels.js).
        Removed index_template.html which is not used any more.
        Update the kernels.js path in the Layout Tests.

        * webcl/resources/kernels.js: Renamed from LayoutTests/webcl/resources/kernels/kernels.js.
        * webcl/resources/kernels/gen_kernels_file.py: Removed.
        * webcl/resources/kernels/kernels.cl: Removed.
        * webcl/tests/index_template.html: Removed.
        * webcl/tests/webcl-kernel-result.html:
        * webcl/tests/webcl-test-devices-sharing-single-context.html: