示例#1
0
void WebCLProgram::callbackProxy(cl_program, void* userData) {
    if (!isMainThread()) {
        callOnMainThread(callbackProxyOnMainThread, userData);
        return;
    }
    callbackProxyOnMainThread(userData);
}
示例#2
0
void WebCLEvent::callbackProxy(cl_event, int, void* userData) {
    if (!isMainThread()) {
        callOnMainThread(callbackProxyOnMainThread, userData);
        return;
    }

    callbackProxyOnMainThread(userData);
}
示例#3
0
void WebCLEvent::callbackProxy(cl_event event, cl_int type, void* userData)
{
    if (!isMainThread()) {
        callOnMainThread(WTF::bind(callbackProxyOnMainThread, event, type, userData));
        return;
    }

    callbackProxyOnMainThread(event, type, userData);
}
void WebCLProgram::callbackProxy(cl_program program, void* userData)
{
    OwnPtr<WebCLProgramHolder> holder = adoptPtr(static_cast<WebCLProgramHolder*>(userData));
    holder->program2 = program;

    if (isMainThread()) {
        callbackProxyOnMainThread(holder.release());
        return;
    }

    Platform::current()->mainThread()->postTask(FROM_HERE, threadSafeBind(&WebCLProgram::callbackProxyOnMainThread, holder.release()));
}
示例#5
0
void WebCL::callbackProxy(cl_event event, cl_int type, void* userData)
{
    OwnPtr<WebCLHolder> holder = adoptPtr(static_cast<WebCLHolder*>(userData));
    holder->event = event;
    holder->type = type;

    if (!isMainThread()) {
        Platform::current()->mainThread()->taskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&WebCL::callbackProxyOnMainThread, holder.release()));
        return;
    }

    callbackProxyOnMainThread(holder.release());
}