Class ObjectStorage
java.lang.Object
dev.engine_room.flywheel.backend.engine.AbstractArena
dev.engine_room.flywheel.backend.engine.indirect.ObjectStorage
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassMaps serial object indices to pages, and manages the allocation of pages. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intfinal ResizableStorageBufferThe GPU side buffer containing 32 bit descriptors for each page frame.static final intstatic final intstatic final intfinal ResizableStorageBufferThe GPU side buffer containing all the objects, logically divided into page frames.static final intstatic final intFields inherited from class dev.engine_room.flywheel.backend.engine.AbstractArena
elementSizeBytes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongvoiddelete()voidfree(int i) protected voidgrow()static intobjectIndex2PageIndex(int objectIndex) static intpageIndex2ObjectIndex(int pageIndex) voiduploadDescriptors(StagingBuffer stagingBuffer) Methods inherited from class dev.engine_room.flywheel.backend.engine.AbstractArena
alloc, byteOffsetOf, capacity, occupancy
-
Field Details
-
LOG_2_PAGE_SIZE
public static final int LOG_2_PAGE_SIZE- See Also:
-
PAGE_SIZE
public static final int PAGE_SIZE- See Also:
-
PAGE_MASK
public static final int PAGE_MASK- See Also:
-
INVALID_PAGE
public static final int INVALID_PAGE- See Also:
-
INITIAL_PAGES_ALLOCATED
public static final int INITIAL_PAGES_ALLOCATED- See Also:
-
DESCRIPTOR_SIZE_BYTES
public static final int DESCRIPTOR_SIZE_BYTES- See Also:
-
objectBuffer
The GPU side buffer containing all the objects, logically divided into page frames. -
frameDescriptorBuffer
The GPU side buffer containing 32 bit descriptors for each page frame.
-
-
Constructor Details
-
ObjectStorage
public ObjectStorage(long objectSizeBytes)
-
-
Method Details
-
createMapping
-
byteCapacity
public long byteCapacity()- Specified by:
byteCapacityin classAbstractArena
-
free
public void free(int i) - Overrides:
freein classAbstractArena
-
grow
protected void grow()- Specified by:
growin classAbstractArena
-
uploadDescriptors
-
delete
public void delete() -
objectIndex2PageIndex
public static int objectIndex2PageIndex(int objectIndex) -
pageIndex2ObjectIndex
public static int pageIndex2ObjectIndex(int pageIndex)
-