void WebCLMemoryUtil::initializeOrQueueMemoryObject(WebCLBuffer* buffer, ExceptionState& es)
{
    WebCLCommandQueue* queue = validCommandQueue();
    if (!queue) {
        m_pendingBuffers.append(buffer->createWeakPtr());
        return;
    }

    ensureMemory(buffer, queue, es);
}
void WebCLMemoryUtil::processPendingMemoryList(ExceptionState& es)
{
    if (!m_pendingBuffers.size())
        return;

    WebCLCommandQueue* queue = validCommandQueue();
    if (queue) {
        for (auto bufferObject : m_pendingBuffers) {
            WebCLBuffer* buffer = static_cast<WebCLBuffer*>(bufferObject.get());
            if (buffer && !buffer->getMem())
                ensureMemory(buffer, queue, es);
        }
    }
    m_pendingBuffers.clear();
}
Example #3
0
	/// To be called when the image was initialized with
	/// a deferred constructor. Will make sure the image
	/// has bound memory.
	void init() { ensureMemory(); }