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

        ComputeContext ctor simplification.
        Need the bug URL (OOPS!).

        Reviewed by NOBODY (OOPS!).

        Given that isValidDeviceType is called prior
        to constructing ComputeContext instances, we can
        safely simplify it.

        * platform/opencl/ComputeContextCL.cpp:
        (WebCore::ComputeContext::ComputeContext):
tmp
2013-04-27  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Various unreviewed style fixes all over.

        * Modules/webcl/WebCLCommandQueue.cpp:
        (WebCore::WebCLCommandQueue::enqueueNDRangeKernel):
        * Modules/webcl/WebCLDevice.h:
        * Modules/webcl/WebCLGLImage.idl:
        * Modules/webcl/WebCLGLObjectInfo.h:
        (WebCLGLObjectInfo):
        * Modules/webcl/WebCLImage.idl:
        * Modules/webcl/WebCLPlatform.cpp:
        (WebCore::WebCLPlatform::create):
        (WebCore::WebCLPlatform::WebCLPlatform):
        * Modules/webcl/WebCLPlatform.h:
        * bindings/js/JSWebCLCustom.cpp:
        (WebCore::JSWebCL::getSupportedExtensions):
        * bindings/js/JSWebCLDeviceCustom.cpp:
        (WebCore::JSWebCLDevice::getInfo):
        (WebCore::JSWebCLDevice::getSupportedExtensions):
        * bindings/js/JSWebCLPlatformCustom.cpp:
        (WebCore::JSWebCLPlatform::getInfo):
        (WebCore::JSWebCLPlatform::getSupportedExtensions):
2013-04-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension (part 6)
        Issue #210

        Reviewed by Igor.

        Underlying /platform support for "compute extensions".
        Patch follows the logic that Extensions3D has to support
        WebGL/OpenGL{ES} extensions.

        Support was added for querying about WebCL extensions
        in all three levels: global, platform and device.
        Three following methods now work correctly:
        - WebCL::getSupportedExtension
        - WebCLPlatform::getSupportedExtension
        - WebCLDevice::getSupportedExtension

        The logic within ::cacheGlobalExtensions method is as following:
        0) Get all OpenCL platforms available.
        1) Get the extensions available in the first platform,
           adding them to a Hash.
        2) If there is only this OpenCL platform available (common
           case), we are done. Bail out!
        3) For any other platform available, check the intersection
           of extensions supported.
        4) In the end, the Hash has only extensions supported by all platforms.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::getSupportedExtensions):
        * Modules/webcl/WebCLDevice.cpp:
        (WebCore::WebCLDevice::getSupportedExtensions):
        * Modules/webcl/WebCLPlatform.cpp:
        (WebCore::WebCLPlatform::getSupportedExtensions):
        * Modules/webcl/WebCLPlatform.idl:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/opencl/ExtensionsCL.cpp: Added.
        (WebCore):
        (WebCore::ExtensionsCL::get):
        (WebCore::ExtensionsCL::ExtensionsCL):
        (WebCore::ExtensionsCL::~ExtensionsCL):
        (WebCore::ExtensionsCL::supports):
        (WebCore::ExtensionsCL::initializeGlobalExtensions):
        (WebCore::ExtensionsCL::supportsExtension):
        (WebCore::ExtensionsCL::cacheGlobalExtensions):
        * platform/opencl/ExtensionsCL.h: Added.
        (WebCore):
        (ExtensionsCL):
        (WebCore::ExtensionsCL::cacheExtensionsForPlatform):
        (WebCore::ExtensionsCL::cacheExtensionsForDevice):
        (Functor):
        (WebCore::ExtensionsCL::Functor::operator()):
        (WebCore::ExtensionsCL::CacheExtensions::perform):
        (WebCore::ExtensionsCL::cacheExtensionsHelper):
2013-04-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Unreviewed removal of WebCL.h include from many files.

        There were some left WebCL.h includes still, but to
        be removed later. It is less trivial.

        * Modules/webcl/WebCL.h:
        * Modules/webcl/WebCLBuffer.cpp:
        * Modules/webcl/WebCLCommandQueue.cpp:
        * Modules/webcl/WebCLEvent.cpp:
        * Modules/webcl/WebCLGLBuffer.cpp:
        * Modules/webcl/WebCLImage.cpp:
        * Modules/webcl/WebCLKernel.cpp:
        * Modules/webcl/WebCLMemoryObject.cpp:
        * Modules/webcl/WebCLProgram.cpp:
        (WebCore::WebCLProgram::getBuildInfo):
        * Modules/webcl/WebCLSampler.cpp:
        * bindings/js/JSWebCLCustom.cpp:
2013-04-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension (part 7)
        Issue #210

        Reviewed by Igor.

        Changed the struture of platform/ Compute extensions support
        1) platform/opencl/ExtensionsCL.h was split in:
        - platform/ComputeExtensions.h
        - platform/ComputeExtensionsTraits.h

        2) platform/opencl/ExtensionsCL.cpp was renamed to
        - platform/openc/ComputeExtensionsCL.cpp

        Also, some 'const' qualifiers were added to specific methods.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::getExtension):
        * Modules/webcl/WebCLDevice.cpp:
        * Modules/webcl/WebCLPlatform.cpp:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ComputeExtensions.h: Added.
        (WebCore):
        (ComputeExtensions):
        * platform/ComputeExtensionsTraits.h: Added.
        (WebCore):
        (ComputeExtensionFunctor):
        (WebCore::ComputeExtensionFunctor::operator()):
        (WebCore::CacheExtensions::perform):
        (WebCore::cacheExtensionsHelper):
        * platform/opencl/ComputeExtensionsCL.cpp: Renamed from Source/WebCore/platform/opencl/ExtensionsCL.cpp.
        (WebCore):
        (WebCore::ComputeExtensions::get):
        (WebCore::ComputeExtensions::ComputeExtensions):
        (WebCore::ComputeExtensions::~ComputeExtensions):
        (WebCore::ComputeExtensions::supports):
        (WebCore::ComputeExtensions::initializeGlobalExtensions):
        (WebCore::ComputeExtensions::supportsExtension):
        (WebCore::ComputeExtensions::cacheGlobalExtensions):
        (WebCore::ComputeExtensions::cacheExtensionsForDevice):
        (WebCore::ComputeExtensions::cacheExtensionsForPlatform):
        * platform/opencl/ExtensionsCL.h: Removed.