Lines Matching refs:storage

74     struct _WsbmBufStorage *storage;
360 struct _WsbmBufStorage *storage;
362 storage = buf->storage;
363 if (!storage)
366 (void)storage->pool->waitIdle(storage, lazy);
372 struct _WsbmBufStorage *storage = buf->storage;
376 retval = storage->pool->map(storage, mode, &virtual);
384 struct _WsbmBufStorage *storage = buf->storage;
386 if (!storage)
389 storage->pool->unmap(storage);
395 struct _WsbmBufStorage *storage = buf->storage;
397 return storage->pool->syncforcpu(storage, mode);
403 struct _WsbmBufStorage *storage = buf->storage;
405 storage->pool->releasefromcpu(storage, mode);
411 struct _WsbmBufStorage *storage = buf->storage;
413 return storage->pool->offset(storage);
419 struct _WsbmBufStorage *storage = buf->storage;
421 return storage->pool->poolOffset(storage);
427 struct _WsbmBufStorage *storage = buf->storage;
429 assert(buf->storage != NULL);
431 return storage->pool->placement(storage);
438 wsbmAtomicInc(&buf->storage->refCount);
449 struct _WsbmBufStorage *storage = buf->storage;
451 if (!storage)
454 if (storage->pool->setStatus == NULL)
457 return storage->pool->setStatus(storage, setFlags, clrFlags);
471 struct _WsbmBufStorage *dummy = buf->storage;
478 wsbmBufStorageUnref(&buf->storage);
491 struct _WsbmBufStorage *storage;
499 storage = buf->storage;
507 newBuffer = (!storage || storage->pool != newPool ||
508 storage->pool->size(storage) < size ||
509 storage->pool->size(storage) >
519 wsbmBufStorageUnref(&buf->storage);
528 buf->storage =
530 if (!buf->storage) {
537 } else if (wsbmAtomicRead(&storage->onList) ||
538 0 != storage->pool->syncforcpu(storage, WSBM_SYNCCPU_WRITE |
546 curPool = storage->pool;
552 wsbmBufStorageUnref(&buf->storage);
553 buf->storage = tmp_storage;
556 retval = curPool->syncforcpu(storage, WSBM_SYNCCPU_WRITE);
570 storage = buf->storage;
571 curPool = storage->pool;
575 curPool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
576 retval = curPool->setStatus(storage,
587 retval = curPool->syncforcpu(buf->storage, WSBM_SYNCCPU_WRITE);
594 storage = buf->storage;
595 curPool = storage->pool;
598 retval = curPool->map(storage, WSBM_ACCESS_WRITE, &virtual);
602 curPool->unmap(storage);
608 curPool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
620 struct _WsbmBufStorage *storage;
632 storage = buf->storage;
640 newBuffer = (!storage || storage->pool != newPool ||
641 storage->pool->size(storage) < size ||
642 storage->pool->size(storage) >
652 wsbmBufStorageUnref(&buf->storage);
661 buf->storage =
663 if (!buf->storage) {
670 } else if (wsbmAtomicRead(&storage->onList) ||
671 0 != storage->pool->syncforcpu(storage, WSBM_SYNCCPU_WRITE |
681 curPool = storage->pool;
687 wsbmBufStorageUnref(&buf->storage);
688 buf->storage = tmp_storage;
691 retval = curPool->syncforcpu(storage, WSBM_SYNCCPU_WRITE);
706 storage = buf->storage;
707 curPool = storage->pool;
711 curPool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
712 retval = curPool->setStatus(storage,
722 retval = curPool->syncforcpu(buf->storage, WSBM_SYNCCPU_WRITE);
728 storage = buf->storage;
729 curPool = storage->pool;
738 curPool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
746 struct _WsbmBufStorage *storage = buf->storage;
747 struct _WsbmBufferPool *pool = storage->pool;
749 return pool->create(pool, pool->size(storage), buf->placement,
766 newBuf->storage = wsbmStorageClone(buf);
767 if (!newBuf->storage)
773 struct _WsbmBufferPool *pool = buf->storage->pool;
774 struct _WsbmBufStorage *storage = buf->storage;
775 struct _WsbmBufStorage *newStorage = newBuf->storage;
779 ret = pool->syncforcpu(storage, WSBM_SYNCCPU_READ);
782 ret = pool->map(storage, WSBM_ACCESS_READ, &virtual);
789 memcpy(nVirtual, virtual, pool->size(storage));
790 pool->unmap(newBuf->storage);
791 pool->unmap(buf->storage);
792 pool->releasefromcpu(storage, WSBM_SYNCCPU_READ);
797 buf->pool->unmap(buf->storage);
799 buf->pool->releasefromcpu(buf->storage, WSBM_SYNCCPU_READ);
801 wsbmBufStorageUnref(&newBuf->storage);
820 struct _WsbmBufStorage *storage = buf->storage;
821 struct _WsbmBufferPool *pool = storage->pool;
823 ret = pool->syncforcpu(storage, WSBM_SYNCCPU_WRITE);
827 if (wsbmAtomicRead(&storage->onList)) {
834 * and therefore we must deal with it by cloning the storage.
837 pool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
848 storage = newBuf->storage;
849 wsbmAtomicInc(&storage->refCount);
850 wsbmBufStorageUnref(&buf->storage);
851 buf->storage = storage;
853 pool = storage->pool;
856 ret = pool->syncforcpu(storage, WSBM_SYNCCPU_WRITE);
861 ret = pool->map(storage, WSBM_ACCESS_WRITE, &virtual);
863 pool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
868 pool->unmap(storage);
869 pool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
883 struct _WsbmBufStorage *storage = buf->storage;
884 struct _WsbmBufferPool *pool = storage->pool;
886 ret = pool->syncforcpu(storage, WSBM_SYNCCPU_READ);
889 ret = pool->map(storage, WSBM_ACCESS_READ, &virtual);
891 pool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
895 pool->unmap(storage);
896 pool->releasefromcpu(storage, WSBM_SYNCCPU_WRITE);
907 wsbmBufStorageUnref(&buf->storage);
912 buf->storage = buf->pool->createByReference(buf->pool, handle);
913 if (!buf->storage) {
935 struct _WsbmBufStorage *storage;
947 storage = pool->create(pool, size, placement, alignment);
948 if (!storage)
951 storage->destroyContainer = &wsbmBOFreeSimple;
952 storage->destroyArg = buf;
954 buf->storage = storage;
1125 struct _WsbmBufStorage *storage = buf->storage;
1132 storage->pool->kernel(storage),
1141 ret = wsbmAddValidateItem(&list->userBuffers, storage,
1147 wsbmAtomicInc(&storage->refCount);
1148 wsbmAtomicInc(&storage->onList);
1158 struct _WsbmBufStorage *storage;
1160 storage = buf->storage;
1161 if (storage->pool->fence)
1162 storage->pool->fence(storage, fence);
1169 if (buf->storage == NULL)
1171 return wsbmAtomicRead(&buf->storage->onList);
1177 struct _WsbmBufStorage *storage;
1183 storage = (struct _WsbmBufStorage *)(validateListNode(curBuf)->buf);
1184 wsbmAtomicDec(&storage->onList);
1185 wsbmBufStorageUnref(&storage);
1197 struct _WsbmBufStorage *storage;
1207 storage = (struct _WsbmBufStorage *)(validateListNode(curBuf)->buf);
1209 storage->pool->fence(storage, fence);
1210 wsbmAtomicDec(&storage->onList);
1211 wsbmBufStorageUnref(&storage);
1222 struct _WsbmBufStorage *storage;
1234 storage = (struct _WsbmBufStorage *)node->buf;
1235 if (storage->pool->validate) {
1236 ret = storage->pool->validate(storage, node->set_flags,
1250 struct _WsbmBufStorage *storage;
1261 storage = (struct _WsbmBufStorage *)node->buf;
1262 if (storage->pool->unvalidate) {
1263 storage->pool->unvalidate(storage);
1265 wsbmAtomicDec(&storage->onList);
1266 wsbmBufStorageUnref(&storage);
1283 struct _WsbmBufStorage *storage;
1285 storage = buf->storage;
1286 size = storage->pool->size(storage);
1354 struct _WsbmBufStorage *storage = buf->storage;
1356 return storage->pool->kernel(storage);