2013-04-17  Sharath Kamath  <kamath.sharath@gmail.com>

        GetInfo() returning Array as result crashes.

        Reviewed by Igor.

        Issue can be seen by runing test case cl_device_getinfo.html from conformance
        test suite.

        OpenCL returns the size in byte. We need to divide it by the size of Type
        the Vector is made of to ensure the right number of data are appended to Vector.

        No new tests (OOPS!).

        * platform/ComputeTypesTraits.h:
2013-04-16  Sharath Kamath  <s.kamath@samsung.com>

        getBuildLogInfo fails if log is too long
        Issue #188

        Reviewed by Igor.

        When build log is more than 1024 characters (this can happen if a
        typo is made at the beginning of a large program, getting build log
        fails with a INVALID_VALUE error.

        Also add a additional param to ComputeContext::getXXXInfo() API.
        Mapping it with OpenCL clGetXXXInfo() API.

        No new tests (OOPS!).

        * Modules/webcl/WebCLKernel.cpp:
        (WebCore::WebCLKernel::getWorkGroupInfo):
        * Modules/webcl/WebCLProgram.cpp:
        (WebCore::WebCLProgram::getBuildInfo):
        * platform/ComputeContext.h:
        (ComputeContext):
        (WebCore::ComputeContext::getWorkGroupInfo):
        (WebCore::ComputeContext::getBuildInfo):
        * platform/ComputeTypesTraits.h:
        (WebCore):
        (BuildInfoFunctor):
        (WebCore::BuildInfoFunctor::operator()):
        (WebCore::ComputeBuildInfo::get):
        (WebCore::getInfoHelper):
        * platform/opencl/ComputeContextCL.cpp:
        (WebCore::ComputeContext::getBuildInfoBase):
        (WebCore::ComputeContext::getWorkGroupInfoBase):
Part 1: WebCLKernel.idl: setArg declaration is wrong
Examples:

2013-03-27  Sharath Kamath  <kamath.sharath@gmail.com>

        WebCLKernel.idl: setArg declaration is wrong
        Issue #200

        Reviewed by NOBODY (OOPS!).

        * WebCL/Nbody/SimCL.js:
        (SimulateCL): Use LOCAL_MEMORY_SIZE.

Source/WebCore:

2013-03-27  Sharath Kamath  <kamath.sharath@gmail.com>

        WebCLKernel.idl: setArg declaration is wrong
        Issue #200

        setArg() take only 3 param as per specification.
        void setArg(CLuint index, any value, optional CLtype type)

        Any value can be Value, Vector or Memory Object.

        Adding support and reducing code in custom binding function.

        Reviewed by NOBODY (OOPS!).

        No new tests (OOPS!).

        * Modules/webcl/WebCLKernel.cpp:
        (WebCore::WebCLKernel::setArg):
        (WebCore::WebCLKernel::setKernelArgVectorType):
        * Modules/webcl/WebCLKernel.h:
        (WebCore):
        (WebCLKernel):
        * Modules/webcl/WebCLKernel.idl:
        * Modules/webcl/WebCLKernelTypes.cpp:
        (WebCore::WebCLKernelTypeValue::asNumber):
        (WebCore::WebCLKernelTypeValue::asValue):
        (WebCore::WebCLKernelTypeValue::asObject):
        (WebCore::WebCLKernelTypeValue::isNumber):
        (WebCore):
        (WebCore::WebCLKernelTypeValue::isVector):
        (WebCore::WebCLKernelTypeBasicValue::asNumber):
        (WebCore::WebCLKernelTypeObject::asObject):
        (WebCore::WebCLKernelTypeObject::isMemoryObject):
        (WebCore::WebCLKernelMemoryObject::~WebCLKernelMemoryObject):
        (WebCore::WebCLKernelMemoryObject::asObject):
        (WebCore::WebCLKernelMemoryObject::getObject):
        * Modules/webcl/WebCLKernelTypes.h:
        (WebCore):
        (WebCLKernelTypeValue):
        (WebCore::WebCLKernelTypeValue::type):
        (WebCore::WebCLKernelTypeValue::WebCLKernelTypeValue):
        (WebCore::WebCLKernelTypeBasicValue::create):
        (WebCLKernelTypeBasicValue):
        (WebCore::WebCLKernelTypeBasicValue::WebCLKernelTypeBasicValue):
        (WebCLKernelTypeObject):
        (WebCore::WebCLKernelTypeObject::WebCLKernelTypeObject):
        (WebCLKernelMemoryObject):
        (WebCore::WebCLKernelMemoryObject::create):
        (WebCore::WebCLKernelMemoryObject::WebCLKernelMemoryObject):
        (WebCLKernelTypeVector):
        * bindings/js/JSWebCLKernelCustom.cpp:
        (WebCore::JSWebCLKernel::setArg):
        * bindings/js/ScriptValue.cpp:
        (WebCore::jsToWebCLKernelTypeValue):