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(); }
/// To be called when the image was initialized with /// a deferred constructor. Will make sure the image /// has bound memory. void init() { ensureMemory(); }